ASP.Net MVC应该为每个视图创建一个模型吗?

Ste*_*fen 8 asp.net-mvc

我是ASP.Net MVC的新手,我发现自己为每个视图制作了一个模型类.例如SignInModel,SignUpModel,EditProfileModel等等.

其中许多都有些相似,具有相同的DB fiels,然后是一些自定义属性.

这真的是MVC应该如何完成,还是我错过了它的某些方面?

我意识到这可能是主观的,但应该有一个"最佳实践".

Dar*_*rov 15

这真的是MVC应该如何完成,还是我错过了它的某些方面?

这绝对是MVC应该如何完成的,你不会错过它的任何方面.

每个视图的视图模型.

你仍然可以有基本视图模型类,并使用您的视图模型的继承,但尤其与可能是不同意见之间不同的验证规则小心.因此,例如,如果在一个视图上需要一个属性,则在另一个视图上可能不再需要该属性,因此如果您使用了基本视图模型类和数据注释,那么您将非常敬酒.

即使您重复某些属性,也不要犹豫不决地创建视图模型.这就是视图模型的意思=>响应视图的特定需求并牢记这些需求可能会经常发生变化,因此在开始时使用单独的视图模型可能看起来很困难但从长远来看它是最佳解决方案在维护和良好做法方面恕我直言.

  • @DannyLane,不要忘记视图模型也可以用于存储视图特定的标志/状态/等等.用于支持不一定与模型本身相关的视图. (4认同)