在控制器中获取分组的复选框

时间:2012-12-04 16:48:42

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我在视图中有一个复选框组。

name = "group";

我想通过这组复选框进行迭代,但我需要找到一种方法来获取它们;

正在使用其值发布所有选中的复选框。

我是否可以做这样的事情(一句话):

string[] name = Request.QueryString('group');

foreach(string value in name) {
}

2 个答案:

答案 0 :(得分:1)

您的查询字符串不会返回复选框,而是发送给您的控制器。

仅返回所选的复选框值。要检索可能的复选框值的完整列表,您需要重新组合来源。

@foreach (var item in Model.tags)
{
    <label>
        <input type="checkbox" name="Tag" value="@item.TagID"
        @if (item.Selected) { <text>checked="checked"</text> }
        />
        @item.Name
    </label>
}

[HttpPost]
public RedirectToRouteResult MyAction(IEnumerable<int> Tag)
{


}

答案 1 :(得分:0)

andleer的解决方案将起作用(我对他的回答进行了微调,需要得到批准)。但是,有一种更好的方法来处理复选框列表。 请参阅CheckBoxList(For) extension