asp.net-mvc-3 – MVC 3在提交模型后,View不会刷新
发布时间:2020-12-16 03:34:21 所属栏目:asp.Net 来源:网络整理
导读:我在MVC 3项目中的观点有一个奇怪的问题.我有一个标准的数据编辑视图(使用模板创建).当我提交表单时,我更改了Name属性,但是当我从控制器返回浏览器后,我仍然看到了lorem值.为什么? @using (Html.BeginForm()) { @Html.EditorFor(model = model.Name) input
我在MVC 3项目中的观点有一个奇怪的问题.我有一个标准的数据编辑视图(使用模板创建).当我提交表单时,我更改了Name属性,但是当我从控制器返回浏览器后,我仍然看到了lorem值.为什么?
@using (Html.BeginForm()) { @Html.EditorFor(model => model.Name) <input type="submit" value="Save" /> } public ViewResult EditUserData(int id) { [...] UserData model = new UserData(); model.Name = "lorem"; return View("~/Views/UserDetails.cshtml",model); } [HttpPost] public ViewResult EditUserData(UserData model) { model.Name = "ipsum"; return View("~/Views/UserDetails.cshtml",model); } public class ControlUserData { [...] [Required] [Display(ResourceType = typeof(Resources),Name = "UserNameFirst")] public string Name { get; set; } } 解决方法
如果要在post / get中修改它,则需要从ModelState中删除该值:
[HttpPost] public ViewResult EditUserData(UserData model) { ModelState.Remove("Name"); model.Name = "ipsum"; return View("~/Views/UserDetails.cshtml",model); } 这是内置的MVC行为:所有Html.Helpers都优先于ModelState集合中的值而不是实际的模型值. 这里有一篇很好的文章:ASP.NET MVC Postbacks and HtmlHelper Controls ignoring Model Changes. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如何在SQL4的log4net配置中使用存储过程进行日志
- 利用ASP.netCore自带DI(DependencyInjection)实现批量依赖注
- asp.net-mvc – asp.net mvc设置数字格式默认十进制千位分隔
- asp.net – 防止在文本框中键入非ascii字符
- asp.net-mvc – MVC3分页,每页项目数
- asp.net – MVC 2 AntiForgeryToken – 为什么对称加密IPri
- 在ASP.NET MVC中通过URL路由实现对多语言的支持
- ASP.net MVC 4是否有一些标准化的方式来引用JavaScript中的
- asp.net-mvc – 为什么Hangfire需要身份验证才能查看仪表板
- JS_正则表达式_使用字符串创建的正则表达式_反斜杠也需要添
推荐文章
站长推荐
热点阅读