我有两页有两个网格,
在我的第一页中,我有10个可编辑的行。我有一个下一个按钮。
我需要将所有这10行编辑的值放到下一页,以便将编辑后的值存储到下一页的其他变量ID中。什么是使用这种情况的最佳方式
由于
答案 0 :(得分:4)
在第一个视图
中的<form>
内放置可修改的行
// BeginForm will render a <form> around the rowmodel HTML
using (Html.BeginForm('PostToMe', 'MyController')) {
foreach (RowModel row in Model) {
// HTML to render out a row
}
}
然后将每一行作为视图模型类型的实例发送,其属性与每行的数据匹配
public class RowModel
{
// properties here
}
最后将这些类型的集合发布到控制器操作。例如
public class MyController : Controller
{
[HttpPost]
public ActionResult PostToMe(IList<RowModel> rows)
{
// do something with rows
}
}
答案 1 :(得分:1)
在ASP.NET MVC中,没有 Page 的概念。有控制器,动作和视图。所以你可能正在谈论的是如何让视图向控制器动作发送信息。那么有几种方法。一个是在此视图中生成HTML <form>
,用输入元素填充它并将此表单操作属性指向目标操作:
<% using (Html.BeginForm("TargetAction", "SomeController")) { %>
... some input fields, maybe in a grid, whatever
<input type="submit" value="GO" />
<% } %>
如果要在网格中选择特定行,则可以在此网格中的每一行上生成表单,并将项目ID用作隐藏字段。