0

我有一个 ViewModel 有几个属性,其中包含用于在表单中填充 DropDowns 的集合。在 get Action 中,这些属性被填充,然后视图被正确渲染。

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

MVC 是否将这些集合临时存储在任何地方,因为 ViewModel 属性可以很容易地填充与 get 操作中相同的值,还是我必须手动填充它们(从缓存或新查询到 db)?

我想,MV​​C 存储原始值,因此可以在后期操作的验证期间使用它们,但我想不通。

谢谢

4

1 回答 1

0

您可能可以使用自定义 ModelBinder

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

于 2011-07-20T08:33:27.367 回答