1

モデルとして IEnumerable を使用する、厳密に型指定されたビューがあります。

MVC WebGrid のチェックボックスでレンダリングしているモデルには bool プロパティがあり、ユーザーはチェックボックスをオンまたはオフにできます。

送信時にアクションメソッドに到達しますが、チェックボックスをオンにするにはどうすればよいですか?

Request.Params を見ると、チェックされているすべてのチェックボックスがパラメーターとして返されていることがわかります。DefaultModelBinder がこれらを IEnumerable に戻す簡単な方法はありますか、それとも手動で行う必要がありますか?

これまでの私のビューは次のとおりです。

@model IEnumerable<XXX.XXXItemDto>

<div id="items">

@using (Ajax.BeginForm("SaveEvents", "MyController", new AjaxOptions { UpdateTargetId = "items" }))
{
    var grid = new WebGrid(Model, canPage: false, canSort: false);

@grid.GetHtml(columns: grid.Columns(
    grid.Column("itemDescription", header: "Event"),
    grid.Column("acknowledged", format: @<text><input name="Acknowledged_@(item.staffItemOid)" type="checkbox" value="@item.staffItemOid" @(item.acknowledged ? "Checked" : null)/> </text>, header: "Acknowledged")
))

@Html.SubmitButton("Save")

}

</div>
4

0 に答える 0