ASP.NET MVC将表单值插入到ViewModel中

时间:2009-05-21 15:10:33

标签: asp.net-mvc

如果在ASP.NET MVC中有一种内置方式,将POST后的表单值分配回最初发送到View的ViewModel的属性,我正在努力解决这个问题?

因此,我正在考虑使用属性装饰ViewModel中的某些属性,然后反映ViewModel并使用该名称从Form []对象中提取值(和强制)。

然而,我想像这样的东西已经内置,所以不想在这里重新发明轮子。

我试图解决的问题是用户单击表单上的按钮,服务器验证数据,如果有错误,我们将用户返回到表单,使用相同的ViewModel来传输数据和从而将值填充回用户最初输入的表格中。

(是的,我也在使用JavaScript进行客户端验证,以实现轻量级,但为了安全起见,我必须在服务器上重复验证。)

想法?

2 个答案:

答案 0 :(得分:2)

您可以在控制器中使用UpdateModelTryUpdateModel

我建议您使用其中一个重载来指定要更新的字段。

Wrox Professional ASP.net电子书(或echapter!)第78页详细讨论了这一点

答案 1 :(得分:0)

我不认为MVC有这样的内置,或者至少我没有看到任何东西。尽管许多其他MVC框架都这样做(例如struts),但这会很好。