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



我有一个ViewModel,它有几个属性,其中包含用于填充表单中的下拉菜单的集合。在get Action中,这些属性被填充,然后视图被正确呈现。

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

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

我认为,MVC存储原始值,因此它们可以在后动作验证期间使用,但我无法想象。

谢谢

您可以使用自定义ModelBinder

看看Jimmy Bogard的这篇文章。这不是你所需要的,但它可以给你一些启发。

相关内容

  • 没有找到相关文章

最新更新