如果在ASP.NET MVC中有一种内置方式,将POST后的表单值分配回最初发送到View的ViewModel的属性,我正在努力解决这个问题?
因此,我正在考虑使用属性装饰ViewModel中的某些属性,然后反映ViewModel并使用该名称从Form []对象中提取值(和强制)。
然而,我想像这样的东西已经内置,所以不想在这里重新发明轮子。
我试图解决的问题是用户单击表单上的按钮,服务器验证数据,如果有错误,我们将用户返回到表单,使用相同的ViewModel来传输数据和从而将值填充回用户最初输入的表格中。
(是的,我也在使用JavaScript进行客户端验证,以实现轻量级,但为了安全起见,我必须在服务器上重复验证。)
想法?
答案 0 :(得分:2)
您可以在控制器中使用UpdateModel或TryUpdateModel。
我建议您使用其中一个重载来指定要更新的字段。
Wrox Professional ASP.net电子书(或echapter!)第78页详细讨论了这一点
答案 1 :(得分:0)
我不认为MVC有这样的内置,或者至少我没有看到任何东西。尽管许多其他MVC框架都这样做(例如struts),但这会很好。