asp.net-mvc – 生成的视图中的模型值错误
发布时间:2020-12-16 06:31:06 所属栏目:asp.Net 来源:网络整理
导读:使用MVC3和razor进入一个非常奇怪的问题. 我正在组合的应用程序显示了一系列面试问题.我有一个问题的观点(问题的内容来自viewmodel).所以在我从一个问题回复后,我可能会返回相同的问题视图(但使用不同的viewmodel实例). 在viewmodel中我有一个很长的属性,如
使用MVC3和razor进入一个非常奇怪的问题.
我正在组合的应用程序显示了一系列面试问题.我有一个问题的观点(问题的内容来自viewmodel).所以在我从一个问题回复后,我可能会返回相同的问题视图(但使用不同的viewmodel实例). 在viewmodel中我有一个很长的属性,如下所示: public long QuestionID { get; set; } 我试图使用隐藏的输入字段来存储视图中的值: @Html.HiddenFor(m => m.QuestionID) 我的问题是,当我从问题到问题时,隐藏字段在最终生成的html中没有变化.在所有进一步的问题中,它仍然是第一个questionID的值.所有其他内容都在变化,我还有一些其他隐藏的字段正常工作.我已在生成模型的控制器中验证了正确的值.我可以在剃刀文件中设置断点,我可以看到模型与正确的QuestionID一样.我尝试使用@ Html.TextBoxFor也有同样的问题.当我手动创建一个像下面这样的隐藏字段时,它工作正常,这真是困扰我. <input type="hidden" id="QuestionID" name="QuestionID" value="@Model.QuestionID" /> 知道为什么会这样吗? 解决方法
在表单发布后,MVC会跟踪ModelState中的发布值.即使您更改模型的值,HiddenFor帮助程序也将首先使用ModelState值.这是因为绑定可能已失败,或绑定可能是一个复杂的对象,ModelState中的字符串值是它们实际输入的内容.
您可以使用以解决此问题 ModelState.Remove("QuestionID"); 或者,如果你真的只是想把它当作一个全新的页面, ModelState.Clear(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC的HTTP缓存 – Last-Modified响应头始终
- asp.net-mvc – 如何使用存储库模式处理表关系?
- asp.net – 为特定客户端创建自定义文化和相关资源文件的建
- asp.net-mvc – ASP.NET MVC – 单元测试过度杀毒? (TDD)
- 在ASP.NET中设置ECommerce
- asp.net-mvc – 如何在signalR HubClass中使用UrlHelper
- asp.net – 哪个会员提供程序实现存储在web.config中的用户
- asp.net – 通过控件循环
- asp.net – 无法加载文件或程序集’System.Net.Http,Versio
- asp.net – Visual Studio IDE的开发
推荐文章
站长推荐
- asp.net-web-api – 如何告诉RavenDB忽略属性而不
- asp.net-mvc – 在ASP.NET MVC 3中使用WebGrid显
- asp.net-mvc – Controller Action方法仅在第一次
- asp.net – Microsoft JScript运行时错误:’Sys
- asp.net – 在Web.config帮助中定义tagPrefixes
- asp.net-mvc-3 – 构造函数注入用作Action方法参
- asp.net-web-api – ASP.NET Web API消息处理程序
- 存储ASP.NET会话状态时AppFabric Cache的新缓存参
- asp.net-mvc-4 – Azure计算模拟器中MVC4 Web AP
- ASP.NET(MVC)路由国际化
热点阅读