【发布时间】:2011-07-06 14:35:45
【问题描述】:
我正在使用 ASP.NET MVC 3 并且有几个页面,其中大部分视图模型都是只读的。示例字段如下所示:
<div class="display-label">My Field</div>
<div class="display-field">@Model.MyField</div>
然后我有一个字段,用户必须在其中输入一些验证文本,如下所示:
@Html.LabelFor(model => model.Verification)
@Html.PasswordFor(model => model.Verification)
当用户提交表单并点击我的控制器时,除了 Verification 字段之外,ViewModel 的字段都为空。到目前为止,我解决这个问题的方法是有几个像这样的 HiddenFor 字段:
@Html.HiddenFor(model => model.MyField)
但是,这很快就会变得丑陋。有没有更好的方法来处理视图状态下的模型,以便在表单提交的 POST 期间,我可以获得所有字段?这在 POST 期间验证文本不匹配并且我需要返回视图模型而不从数据库中重新检索它的情况下很重要。
感谢您的任何建议。
【问题讨论】:
标签: c# .net asp.net-mvc asp.net-mvc-3 viewstate