0

私はこれに何時間も取り組んできましたが、機能するロジックを適用できないようです。オブジェクトのコレクションがあり、それらをアイテムと呼びましょう。それらには、それらが含まれるかどうかを定義するブールプロパティがあります後でバスケットに追加するとき。私が抱えている問題は、これらのアイテムをリストし、各アイテムの横にチェックボックスがあり、アイテムを含めるかどうかを切り替えるページが必要なことです。

私はこれを持っています:

@using(Ajax.BeginForm("UpdateItems", "Controller", null, 
       new AjaxOptions { HttpMethod = "Post"}, new { id = "UpdateItemsForm" })
{
    @foreach(var item in collection)
    {
        @Html.CheckBox("itemIncluded", item.Included)
    }
}

<script>

$("#UpdateItemsForm").change(function ()
{
    $(this).submit();
});

</script>

コントローラーで私が持っている

public JsonResult UpdateItems(bool[] itemIncluded)
{
   //Do Something unimportant
}

問題は、コントローラーで必要なブール値の配列を取得していますが、配列の長さが一貫していないことです。チェックボックスを変更すると、チェックされているボックスの数に応じて n 要素の配列を受け取ります。たとえば、2/4 ボックスをチェックすると、6 つのブール値の配列が得られます。この配列には、チェックされたボックスの true 要素と false 要素が含まれます。配列のサイズを強制する方法はありますか?

4

2 に答える 2

-1

これはバグではなく、機能です ;)

http://forums.asp.net/t/1314753.aspx

于 2013-10-24T13:37:06.910 に答える