MVC 3 - 当ModelState无效时,在Action中重新填充集合的ViewModel属性

时间:2011-07-20 08:27:37

标签: asp.net-mvc-3 viewmodel updatemodel modelstate

我有一个ViewModel,其中包含几个包含Collections的属性,用于填充表单中的DropDowns。在获取Action中,将填充这些属性,然后正确呈现视图。

当用户sumbits形成时,在Post动作中,我的ViewModel包含填写表单的所有数据,但所有集合属性都为null,因为浏览器不发送它们。没关系,当ModelState有效时,我不再需要它们了。但是,当ModelState无效时,我需要再次显示该表单以纠正错误。

MVC是否将这些集合临时存储在哪里,是否可以使用与get操作相同的值轻松填充ViewModel属性,还是必须手动填充它们(从缓存或新查询到db)?

我想,MV​​C会存储原始值,因此可以在后期操作的验证过程中使用它们,但我无法理解。

感谢

1 个答案:

答案 0 :(得分:0)

您可以使用自定义ModelBinder

Jimmy Bogard查看此帖子。这不完全是你需要的,但它可以给你一些想法。