0

我有 2 意见说view1view2。其中view1有一个view2名为“创建新员工”的链接。当用户单击它时,view2将显示。View2包含员工填写其基本详细信息的表格。填写员工表格后点击保存,数据将保存在数据库中。现在查看显示所有员工的详细信息。每个员工详细信息后都有一个编辑链接。如果员工单击它,则view2再次显示填充数据和用户编辑,然后单击保存并将数据保存在数据库中。所以最后我们给出了以下三种情况:-

1) 显示view2:- 一种正常的操作方法,显示view2为空表,员工填写。

2)填写view2: - 一种[HttpPost]发布表格的操作方法

3) 编辑view2- 编辑view2填充并保存。

我的问题是这三种情况如何在保存视图中发生?我们只有两种写action方法的方法:一种是httpget,另一种是httppost,最终每次只完成两个场景。

提前致谢!!

4

3 回答 3

0

您将[HttpPost]在创建和保存用户时使用。事实上,它可能是处理这两种情况的相同方法:创建时,Id表单中的隐藏字段将为空,并且在编辑相同字段时将有一个值(Id在创建时分配)。

您的方法可以使用此字段的值来决定要做什么。

于 2013-03-05T11:51:47.223 回答
0

您可以HttpPut用于编辑/更新。

这个矩阵很好地表示了 REST 和用于每个 CRUD 操作的动词。

现在默认情况下,ASP.NET MVC3 不支持PutForm 方法。您可以为此目的使用MVCContribSimplyRestfulRouteHandler

于 2013-03-05T11:56:06.303 回答
0

我只会有一个 View2 的视图模型,其中包含一个模式变量,它可以是布尔值或枚举,以表示视图是处于编辑模式还是显示模式。

然后,在 HttpGet 版本的 action 方法中,填充视图模型对象并将这个视图模型对象提供给视图进行渲染。

然后,视图可以使用给定的信息渲染各种输入或其他 HTML 元素,并使用上述布尔值或枚举值来决定是以显示模式还是编辑模式渲染视图。

HttpPost 方法保持不变。

于 2013-03-05T11:59:42.920 回答