2012-03-28 2 views
5

Это мой Вид:Получить Идентификаторы проверяемого Флажки в MVC3

@foreach(var action in Model.Category.Actions) { 
<div class="action" style="margin-right: 30px;"> 
    <input type="checkbox" class="chk-act" id="@action.Id" name="actionChk" /> 
    <text>@action.Text</text> 
</div> 
    } 

и HTML DOM является как следующие:

<input type="checkbox" class="chk-act" id="17" name="actionChk"> 
<input type="checkbox" class="chk-act" id="18" name="actionChk"> 
<input type="checkbox" class="chk-act" id="19" name="actionChk"> 

Так что мне нужно провериться Идентификаторы. Когда я пытаюсь получить значение от коллекции форм, что вернулся мне массив строк из on по длине проверяемых флажков:

[HttpPost] 
public ActionResult Index(FormCollection collection) { 
    var actions = collection.GetValues("actionChk"); 
return View(); 
} 

что ваше предложение?

+0

Поскольку браузер будет отправлять имя на вход в (actionChk), потому что у них все одно и то же имя, вы получите массив. Почему бы не калечить имя как actionChk17, actionChk18 и т. Д.? – StuartLC

ответ

9

Вы должны поместить значения в параметре value

<input type="checkbox" class="chk-act" id="17" value="17" name="actionChk"> 
<input type="checkbox" class="chk-act" id="18" value="18" name="actionChk"> 
<input type="checkbox" class="chk-act" id="19" value="19" name="actionChk"> 

Затем из контроллера, вы должны иметь массив Ids имени actionChk

+0

Простой и полезный ответ. – Armaan

Смежные вопросы