Asp.net mvc 2 ASP.Net MVC 2自定义帮助程序网格未将模型发布到控制器操作

Asp.net mvc 2 ASP.Net MVC 2自定义帮助程序网格未将模型发布到控制器操作,asp.net-mvc-2,Asp.net Mvc 2,我已经创建了一个自定义辅助对象,用于渲染网格并接收强类型视图的模型作为参数 基本上我的观点是这样的: <% using (Html.BeginForm("UpdateValues", "Home", FormMethod.Post)) { %> <%= Html.MyGrid(Model)%> <input type="submit" value="Update Values" /> <%} %> <form met

我已经创建了一个自定义辅助对象,用于渲染网格并接收强类型视图的模型作为参数

基本上我的观点是这样的:

<% using (Html.BeginForm("UpdateValues", "Home", FormMethod.Post)) { %> 

    <%= Html.MyGrid(Model)%>

    <input type="submit" value="Update Values" />

<%} %>
<form method="post" action="/Home/Create">

    <input type="text" name="[0].Title" value="Curious George" />
    <input type="text" name="[0].Author" value="H.A. Rey" />

    <input type="text" name="[1].Title" value="Code Complete" />
    <input type="text" name="[1].Author" value="Steve McConnell" />

    <input type="submit" />
</form>
我怎样才能做到这一点


提前感谢。

您需要确保项目在网格中排列,以便默认模型绑定器可以将数据映射映射到视图模型类

这是通过索引绑定的数据的name属性来完成的,如下所示:

<% using (Html.BeginForm("UpdateValues", "Home", FormMethod.Post)) { %> 

    <%= Html.MyGrid(Model)%>

    <input type="submit" value="Update Values" />

<%} %>
<form method="post" action="/Home/Create">

    <input type="text" name="[0].Title" value="Curious George" />
    <input type="text" name="[0].Author" value="H.A. Rey" />

    <input type="text" name="[1].Title" value="Code Complete" />
    <input type="text" name="[1].Author" value="Steve McConnell" />

    <input type="submit" />
</form>

您可以通过asp.net mvc的EditorTemplates功能来完成此操作,如中所示。

非常感谢!此外,集合是复杂对象本身的属性,因此它实际上必须是图书[0]。标题等。