如何在视图中重用视图中的模型类型
本文关键字:视图 模型 类型 | 更新日期: 2023-09-27 18:26:02
如何重用我声明的模型类型?在视图的顶部有声明
@model mySpace.viewModels.viewModel
我想做的是在页面的后面,做一些类似的事情
@for( viewModel vM in ViewBag.viewModels )
{
//some foo bar
}
如果您已经有了强类型视图,那么您真的不应该考虑ViewBag/ViewData。一旦你有了视图模型的强类型视图,你在这个视图中所要做的就是使用这个视图模型的属性,比如:
@foreach (viewModel vm in Model.SomeSubModels)
{
//some foo bar
}
或者更好的是,为了避免视图中可怕的foreach
循环,您可以使用编辑器模板(如果您需要编辑一些属性):
@Html.EditorFor(x => x.SomeSubModels)
或者使用显示模板(如果您只想向用户显示视图模型属性的值):
@Html.DisplayFor(x => x.SomeSubModels)
因此,在设计ASP.NET MVC应用程序时,以下是几个需要遵循的基本规则(按顺序):
- 您忘记了ViewBag/ViewData。就好像它们根本不存在。你只是把它们抹杀了。如果你忘记了他们,你会对自己做出真正的贡献
- 您定义了一个视图模型,它是一个包含视图所需的所有属性的类
- 您让控制器操作查询存储库和域模型,并将结果映射到将传递给视图的视图模型
- 在相应的视图中,您只需使用控制器操作提供的视图模型的属性来显示一些信息
规则1。是真正的基础,也是最重要的。如果你不遵守这个规则,你就真的没有正确地使用ASP.NET MVC。