2012-02-23 5 views
1

Может ли кто-нибудь указать мне, как читать входы из дерева флажков?MVC checkbox tree

Таким образом, имея в виду, что есть переменное количество флажков, что я хотел бы сделать, это есть контроллер, который выглядит следующим образом:

общественного ActionResult Edit (интермедиат идентификатор, имя строки, ИНТ [] selected)

Если выбрано, содержит массив идентификационных номеров, в которых были отмечены флажки.

На данный момент мне нужно прочитать HttpContext.Request.Params и полагаться на мои флажки с уникальными именами «Selected [1]» и «Selected [2]». Я не могу полагаться на порядок элементов управления, так как мое целое число представляет собой идентификатор объекта.

Тогда следующее, что мне очень понравилось, - это иметь параметр ViewModel, а не отдельные параметры.

ответ

1
foreach(var i in Model) 
{  
    <input type="checkbox" name="selected" value="@i.ItemId" /><br/> 
} 

будет связывать именно так, как вы говорите:

public ActionResult MySubmitAction(int[] selected) 
{ 
    ... 
} 

это будет массив, если идентификаторы элементов, которые выбраны

+0

Спасибо Крис (великое имя кстати). Также добавили параметры в модель просмотра и уменьшили общий шум кода. Гораздо более элегантно. –