多页/表单 MVC Web 应用程序的最佳实践

2024-01-03

我有一个使用 ASP.Net MVC 和 EF5 的项目。该模型具有足够多的字段,应用程序将需要多个页面来收集所有数据。

收集数据后,会将其提交给 Web 服务/WebAPI。 (这不能更改,否则我将使用 EF 实体代替)。

当数据模型被填充时,将数据模型从一个页面保存到另一个页面的最佳实践或最佳建议是什么?


您可以创建一个每个页面使用的 ViewModel 类(强类型视图),并仅将未编辑的字段存储在隐藏字段中。您的控制器将为每个步骤提供一个操作方法和视图。提交每个步骤后,您将返回下一步的视图(以及视图模型)。

在最后一页上,您提交视图模型并保存它。

控制器代码:

[HttpPost]
public ActionResult Step1(MyBigViewModel model)
{
     //do work
     return View("Step2", model);
}

[HttpPost]    
public ActionResult Step2(MyBigViewModel model)
{
     //do work
     return View("Step3", model);
}

[HttpPost]
public ActionResult Step3(MyBigViewModel model)
{
     //save here
     return View("Success", model);
}

另一种选择是在单个页面上使用“类似向导”的用户界面。这是我之前成功使用过的一个:

https://github.com/mstratman/jQuery-Smart-Wizard https://github.com/mstratman/jQuery-Smart-Wizard

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多页/表单 MVC Web 应用程序的最佳实践 的相关文章

随机推荐