asp.net-mvc – [HttpPost] public ActionResult Create(FormCol
发布时间:2020-12-16 03:53:39 所属栏目:asp.Net 来源:网络整理
导读:在Scott Hanselman的书(第1章)中,他为我们提供了两个实现[HttpPost] for Create action方法的选项. 第一个依赖于TryUpdateModel来根据传入的表单字段更新模型对象.当传入的表单字段包含无效输入时,ModelState.IsValid将设置为false. [HttpPost] public Actio
在Scott Hanselman的书(第1章)中,他为我们提供了两个实现[HttpPost] for Create action方法的选项.
第一个依赖于TryUpdateModel来根据传入的表单字段更新模型对象.当传入的表单字段包含无效输入时,ModelState.IsValid将设置为false. [HttpPost] public ActionResult Create(FormCollection collection) { Dinner dinner = new Dinner(); if (TryUpdateModel(dinner)) { dinnerRepository.Add(dinner); dinnerRepository.Save(); return RedirectToAction("Details",new { id = dinner.DinnerId }); } else return View(dinner); } 第二种方法是利用作为Create action方法arg传递的模型如下: [HttpPost] public ActionResult Create(Dinner dinner) { if (ModelState.IsValid) { dinnerRepository.Add(dinner); dinnerRepository.Save(); return RedirectToAction("Details",new { id = dinner.DinnerId }); } else return View(dinner); } 哪一个更适合在生产中使用? 解决方法
如果所有必需的数据都在Request.Form,路由数据或URL查询字符串中,那么您可以使用模型绑定,如第二个示例中所示.
模型绑定器创建您的晚餐对象,并通过匹配属性名称使用请求中的数据填充它. 您可以使用“白名单”,“黑名单”,前缀和标记界面自定义绑定过程. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 在ASP.NET MVC Core中仍然存在ViewModel概
- asp.net – 在IIS中发布CSS文件
- asp.net-mvc – 当使用AutoMapper / AutoMapViewResult时如
- asp经典 – ASP检查请求方法
- asp.net-mvc – 正确处理ASP.NET MVC中的自定义错误?
- asp.net – 运行时MVC更新FormsAuthenticationTicket UserD
- asp.net-mvc – 我的模型应该在哪里生活? Web层或数据层?
- ASP.NET SessionID类型
- asp.net-mvc-3 – 在html标签中添加html输入
- asp.net-mvc – 属性路由和本地化问题
推荐文章
站长推荐
- asp.net – VS2012 Crystal Report Viewer组树隐
- asp.net – Html.RenderAction和Html.Action之间
- ASP.NET Web Pages - WebMail 帮助器
- asp.net-mvc – ASP.NET中的Response.Write是一个
- asp.net – coldfusion和.net上的单点登录
- asp.net-mvc – TypeScript捆绑和分类?
- asp.net – 使用Cookie认证的asp net core项目MV
- ASP.NET TreeView:Checked更改后的PostBack?
- ASP.NET MVC集成EntLib实现“自动化”异常处理[实
- ASP.NET -- WebForm -- 页面生命周期事件
热点阅读