asp.net-mvc – 具有SelectList(s)最佳实践的ASP.NET MVC ViewMo
发布时间:2020-12-15 23:41:25 所属栏目:asp.Net 来源:网络整理
导读:我注意到,在NerdDinner应用程序中,如果ModelState对于晚餐无效,它只返回模型的视图: if (ModelState.IsValid) { ... return RedirectToAction("Details",new { id=dinner.DinnerID }); } return View(dinner); 然而,在我的应用程序中,模型(在这种情况下的视
我注意到,在NerdDinner应用程序中,如果ModelState对于晚餐无效,它只返回模型的视图:
if (ModelState.IsValid) { ... return RedirectToAction("Details",new { id=dinner.DinnerID }); } return View(dinner); 然而,在我的应用程序中,模型(在这种情况下的视图模型)包含多个SelectLists.这些列表在这一点上没有被实例化,因为这个视图模型只是从表单提交中填充.在将此选择列表发回给用户之前,建议重新填充此选项的方法是什么? 这就是我想要我的控制器做的: public ActionResult Save(MyModel model) { if (ModelState.IsValid) { businessClass.Save(model); return RedirectToAction("Index","Home"); } // This won't work because model has uninstantiated SelectLists return View("MyView",model); } 如果ModelState无效,我不想将模型发送到我的业务逻辑,但将控制器中的SelectList种群代码似乎没有任何意义.我应该在我的业务逻辑中创建一个公共方法,只是为了在我的视图模型上做这样的事情吗? 解决方法
我个人喜欢保持简单:
[HttpGet] public Edit(int id) { EditForm form = new EditForm(); // Populate from the db or whatever... PopulateEditPageSelectLists(form); return View(form); } [HttpPost] public Edit(EditForm form) { if (ModelState.IsValid) { // Do stuff and redirect... } PopulateEditPageSelectLists(form); return View(form); } public void PopulateEditPageSelectLists(form) { // Get lookup data from the db or whatever. } 如果填充选择列表的逻辑是各种各样的疯狂,可能值得移动到单独的类或任何它,但作为第一步这是最好的开始的地方. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在Azure上使用LocalDb MDF文件
- asp.net – 如何在客户端上为CustomValidator控件重写Error
- asp.net – jQuery HighCharts和MVC 2应用程序中的简单条形
- 在asp.net应用程序中管理与数据库的连接
- ASP.NET:预编译文件的文件名生成规则
- asp.net-mvc – MVC3区域中的相对内容路径
- asp.net – 使用.NET Core和Angular 2/4的Web应用程序的基础
- asp.net – 在POST时丢失HTML表单数据
- asp.net-mvc-routing – ASP MVC 5属性路由VS.基于公约的路
- 在ASP.NET Web安装项目中,我可以在IIS中禁用匿名访问吗?
推荐文章
站长推荐
- Owin.IAppBuilder在asp.net中不包含“MapSignalR
- asp.net-mvc-2 – 如何让HandleErrorAttribute与
- asp.net – jquery getJson没有将任何值传递给控
- asp.net-mvc – viewdata中的ASP.NET MVC genric
- asp.net-mvc-2 – 查找要在ASP.NET MVC项目上使用
- asp.net-mvc – ASP.NET MVC,MVCContrib,Structu
- asp.net-mvc – 在ASP MVC中,如何将新视图和文件
- asp.net – SQL查询无法按预期工作
- asp.net – Orchard CMS是否支持移动呈现?
- 准备ASP.Net网站进行渗透测试
热点阅读