我继承了一个用 ASP.Net MVC 4 编写的代码库。每个 post 方法都需要一个FormCollection
. 除了不得不通过带引号的字符串访问值的烦恼之外,它还会导致一些缺点,例如无法在我的 ViewModel 属性上使用ModelState.IsValid
, 或属性之类的东西。[AllowHtml]
他们实际上确实为每个视图创建了 ViewModel 类(尽管它们几乎只是实际实体框架模型类的直接包装器),但它们仅用于 GET 方法。
关于 FormCollection 有什么我遗漏的东西可以解释为什么这实际上是一个好主意吗?它似乎只有缺点。我想通过使用 ViewModels 来完成并“修复”它。这需要大量的工作,因为 ViewModel 的属性是接口而不是具体的类,这意味着要么编写自定义绑定器,要么更改 ViewModel。
但也许我在使用 FormCollection 有意义的地方遗漏了什么?