我在我的MVC
项目中有两个控制器,每个控制器都有一个Weapon
动作/视图。两个视图都将其@model
属性设置为具有取决于视图的不同属性的WeaponViewModel
,例如,对于一个视图,ViewModel.Weapon = Axe
和另一个视图ViewModel.Weapon = Sword
。 Axe
和Sword
实现了一个IWeapon
接口,所以具有相同的属性。相同视图的ASP.NET MVC部分视图
由于每个视图呈现相同的WeaponViewModel
,我发现它具有相同的Razor
两个视图的代码矫枉过正。我所做的就是创建一个在Shared
文件夹命名为_Weapon
这样查看:
@model WeaponViewModel
//razor code goes here
..和在这两种观点我现在只有有这样的代码:
@model WeaponViewModel
@{ Html.RenderPartial("_Weapon", Model); }
结果的作品,但我问题是:使用Html.RenderPartial
来渲染(基本上)完整视图是否正确?另外,如果我稍后决定变得更细化并在我的共享_Weapon
视图中创建更多的部分视图,是否有任何需要注意的细节?
你也可以用部分在查看使用EditorFor(M => M)/共享/ EditorTemplates – Tobias 2014-11-10 09:58:28