如何使用asp.net mvc将数据发送到一个页面到其他页面

时间:2011-04-11 21:26:54

标签: asp.net asp.net-mvc asp.net-mvc-2

我有两页有两个网格,

在我的第一页中,我有10个可编辑的行。我有一个下一个按钮。

我需要将所有这10行编辑的值放到下一页,以便将编辑后的值存储到下一页的其他变量ID中。什么是使用这种情况的最佳方式

由于

2 个答案:

答案 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用作隐藏字段。