MVC视图与表单发布绑定并在同一页面中显示数据

时间:2010-09-15 17:58:03

标签: c# model-view-controller asp.net-mvc-2 asp.net-mvc-routing

当我开始研究MVC应用程序时,我有一个相同的查询。

我在页面中有一个textbox(对于我想要检索数据的员工姓名),我想在form and get result of 'Employees' data中发布same form.(我想要在grid type layout in the same form)下面显示textbox

是否有人对how to post form and display data in the same page有任何想法?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您需要EmployeeController,其中包含两项操作:IndexAddEmployee

Index操作应检索您的员工列表并将其移交给View。您可以使用ViewData或强烈键入View并在返回中包含模型对象:return View(employeeList)

AddEmployee操作应包含添加新员工记录的逻辑,然后使用RedirectToAction重定向回Index操作。这称为Post-Redirect-Get模式。你永远不应该让你的用户在POST响应中“登陆”,因为它可能导致双重表单提交。

在员工视图中:您需要上面的表单和下面的网格(例如MVCContrib Grid)。表单的操作应该是AddEmployee的{​​{1}}操作。

答案 1 :(得分:0)

我知道这不是您要求的答案,但在我看来,您正试图模仿WebForms的回发行为。

不要那样做

您不应该通过帖子操作渲染视图。如果用户尝试刷新结果页面,则将再次执行post操作。这可能导致重复数据(例如,在数据库Web前端应用程序中)。

您应该使用PRG模式。请阅读thisthisthis