我正在使用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)
当用户提交表单并到达我的控制器时,ViewModel的字段都是空的,除了Verification字段。到目前为止,我解决这个问题的方法是添加几个HiddenFor字段,如下所示:
@Html.HiddenFor(model => model.MyField)
然而,这很快变得混乱。有没有更好的方法来处理视图状态中的模型,以便在表单提交的POST期间,我可以获取所有字段?如果在POST期间验证文本不匹配并且我需要返回视图模型而无需从数据库重新检索它,则此功能非常重要。
感谢任何建议。
@Html.AntiForgeryToken()
来解决安全问题? - Brandon