2

我有这个代码:

模型:

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没有任何变化。甚至可以将复选框“附加”到数组元素吗?

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

4

1 回答 1

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();
}
于 2012-08-19T12:29:25.860 回答