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 に答える