如何让我的Action方法通过复选框从Web网格中恢复我的模型

时间:2011-08-11 22:39:59

标签: asp.net-mvc-3 webgrid

我有一个强类型视图,它使用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>

0 个答案:

没有答案