Как получить метод Action для возврата моей модели из веб-сетки с флажками - PullRequest
1 голос
/ 12 августа 2011

У меня строго типизированное представление, использующее IEnumerable в качестве модели.

В модели есть свойство bool, которое я рендерил в MVC WebGrid в чекбоксе, который пользователь затем может установить или снять.

При отправке он попадает в мой метод действия, но как мне установить флажки?

Если я смотрю на 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>
...