Html.Grid中的复选框回发

时间:2011-06-05 15:03:04

标签: c# .net asp.net-mvc asp.net-mvc-3

我有一个由IList组成的网格:

@Html.Grid(Model.ExampleList).Columns(c =>
{
    c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateRequested)).Named("Date Requested");
    c.For(a => a.Comment).Named("Comment");
})

但是我想添加一个复选框,将Post发送回控制器。类似的东西:

@using (Html.BeginForm("PostExample", "Home")) 
{
    <input type="hidden" name="SomeId" value=@ViewBag.SomeId/>
    <input type="hidden" name="AnotherId" value="AnotherId" />
    @Html.CheckBox("Complete", Model.Complete, new { onClick = "$(this).parent('form:first').submit();"
});

但我不确定如何将它们结合起来。这样做的最佳方式是什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

你的问题很不清楚。你想在哪里显示这个复选框?在每一行?取决于您的模型的某些价值?如果是,那么您可以使用自定义列,如下所示:

.Columns(c =>
{
    c.Custom(
        @<text>
            <form action="@Url.Action("PostExample", "Home")" method="post">
                <input type="hidden" name="SomeId" value="@ViewBag.SomeId" />
                <input type="hidden" name="AnotherId" value="AnotherId" />
                @Html.CheckBoxFor(x => item.Complete, new { onclick = "$(this).parent('form:first').submit();" })
            </form>
        </text>
    );
})