在mvc中编辑/查看/保存方案

时间:2010-02-16 08:52:25

标签: asp.net-mvc model-view-controller post save edit

我正在寻找asp.net mvc中“编辑/审核/保存”方案的简洁方法:

我们的客户可以“编辑”他们的帐户信息会影响他们的每月保费,但在保存信息之前,我们需要通过“审核”屏幕向他们展示检查他们的更改并查看每月保费的详细细分,如果他们接受,我们会“保存”。

基本上是三步编辑:

第1步 - “编辑” - 用户编辑其信息的屏幕 第2步 - “审核” - 只读屏幕上的信息以查看输入的数据 第3步 - “保存” - 实际保存数据。

令人感兴趣的是,有许多不同的“编辑”屏幕,但只有一个“评论”屏幕。

可以通过在Edit / Post上的会话中存储数据并在保存时将其重新保存,但这不是一种好方法。

在mvc中有更简洁的方法吗?

1 个答案:

答案 0 :(得分:2)

您可以将数据存储在TempData中,但不必这样做。

您可以执行三项操作:

[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Edit() {
    //Returns the Edit view that displays an edit form
    //That edit form should post to the same action but with POST method.
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(AccountInformationModel m) {
    //Checks the form data and displays the errors in the 
    //edit view if the form data doesn't validate
    //If it does validate, then returns the Review view which renders 
    //all the form fields again but with their type as "hidden".
    //That form should post to Save action
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Save(AccountInformationModel m) {
    //Checks the form data again (just to be safe in case 
    //the user tampers the data in the previous step)
    //and displays the errors in the edit view if it doesn't validate.
    //if it does validate, saves the changes.
}