选中对象数组的复选框

时间:2012-08-19 09:23:33

标签: c# html asp.net-mvc-3 razor

我有这段代码:

型号:

public bool[] ArrayOfBooleans = new bool[2];

查看

@using(Html.BeginForm())
{
    @:#1
    <input name="ArrayOfBooleans[0]" type="checkbox" value="true" />
    <input name="ArrayOfBooleans[0]" type="checkbox" value="false" />
    <br />
    @:#2
    <input name="ArrayOfBooleans[1]" type="checkbox" value="true" />
    <input name="ArrayOfBooleans[1]" type="checkbox" value="false" />
    <br />    
    <input type="submit" value="Submit"/>
}

当我发布此消息时, ArrayOfBooleans 中没有任何更改。甚至可以将“附加”复选框添加到数组元素中吗?

注意:这是我的一个真正问题的简化形式。我必须使用集合和更复杂的对象。

1 个答案:

答案 0 :(得分:3)

试试这个(适合我):

@using(Html.BeginForm())
{
    @:#1
    <input name="ArrayOfBooleans[0]" type="checkbox" value="true" />
    <input name="ArrayOfBooleans[0]" type="hidden" value="false" />
    <br />
    @:#2
    <input name="ArrayOfBooleans[1]" type="checkbox" value="true" />
    <input name="ArrayOfBooleans[1]" type="hidden" value="false" />
    <br />    
    <input type="submit" value="Submit"/>
}

在模特中:

public class A
{
    public bool[] ArrayOfBooleans { get; set; }
}

在控制器中:

[HttpPost]
public ActionResult Index(A model)
{
    return View();
}