当验证失败时,ASP.NET MVC如何在表单中重新填充值?
发布时间:2020-12-16 07:24:33 所属栏目:asp.Net 来源:网络整理
导读:在Web表单中,使用视图状态.但是在ASP.NET MVC中,由于模型绑定可用,因此可以在控制器中轻松地访问属性.但是,当模型验证失败时,ASP.NET MVC会自动填充表单控件,以实现验证失败吗? 或者还有其他方法可以实现这一目标. 解决方法 有一个名为ModelState的属性(在C
在Web表单中,使用视图状态.但是在ASP.NET MVC中,由于模型绑定可用,因此可以在控制器中轻松地访问属性.但是,当模型验证失败时,ASP.NET MVC会自动填充表单控件,以实现验证失败吗?
或者还有其他方法可以实现这一目标. 解决方法
有一个名为ModelState的属性(在Controller类中),它包含所有值.它用于模型绑定.验证失败时,ModelState会保留所有带有验证错误的值.
ModelState.IsValid告诉您,验证没有抛出任何错误. ModelState.Values包含所有值和错误. 编辑 Ufuk的例子: 查看型号: public class EmployeeVM { public string FirstName { get; set; } public string LastName { get; set; } } 操作: [HttpGet] public ActionResult CreateEmployee() { return View(); } [HttpPost] public ActionResult CreateEmployee(EmployeeVM model) { model.FirstName = "AAAAAA"; model.LastName = "BBBBBB"; return View(model); } 视图: @model MvcApplication1.Models.EmployeeVM @using (Html.BeginForm("CreateEmployee","Home")) { @Html.EditorFor(m => m) <input type="submit" value="Save"/> } 如您所见,在POST方法中,值被AAAAA和BBBBB覆盖,但在POST后,表单仍显示已发布的值.它们取自ModelState. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 获取Telerik RadScheduler当前视图的日期范围
- asp.net-mvc – 在asp.net mvc中的redirecttoaction中设置查
- asp.net-mvc-3 – MVC 3中的BeginRequest类过滤器?
- asp.net-mvc – MVC4将复杂对象从View传递到Controller,新视
- asp.net-mvc – ASP.NET MVC Action被调用两次
- asp.net-mvc – MVC(ASP.NET MVC)乐队3层架构如何协同工作?
- asp.net-core – 在将Swashbuckle用于网络核心web api项目时
- asp.net-ajax – 该页面正在执行异步回发,但ScriptManager.
- 如何在ASP.NET中的Web应用程序之间共享用户控件?
- asp.net-mvc – MVC DB首先修复显示名称
推荐文章
站长推荐
- asp.net-core-mvc – 使用MVC Core下载文件
- ASP.NET Core 认证与授权[2]:Cookie认证
- asp.net-mvc – 存储库模式 – 如何正确处理JOIN
- asp.net-core – VS 2017安装后无法运行基于proj
- asp.net-mvc – ASP.NET MVC 3:什么以及什么时候
- asp.net-core-mvc – 结合Azure AD(b2c)自定义Cl
- entity-framework – 在mvc中使用控制器中的模型
- asp.net – 如何从复选框列表中获取最新的选定值
- asp.net-mvc – 为id而不是name设置HtmlFieldPre
- ABP虚拟文件系统(VirtualFileSystem)实例------定
热点阅读