部分视图和父视图

时间:2013-09-28 21:50:03

标签: asp.net-mvc-4 entity-framework-5

部分视图和父视图可以有两种不同的视图模型吗?

例如,部分视图可能具有特定于该模型的下拉列表,而父视图可能具有其他一些实体的其他模型。

2 个答案:

答案 0 :(得分:4)

是的,部分和父视图可以有两种不同的视图模型。

部分视图必须从某个地方获取它的viewModel,所以这可以直接从视图中创建它

家长视图

@{
    var partialViewModel = new SomeOtherModel()
        {
            PartialName = Model.Name, 
            SomeProperty = SomeOtherVariable
        };
    Html.Partial("_MyPartialView", partialViewModel);
 }

或者更常见的方法是Partial ViewModel是父ViewModel的属性

@Html.Partial("_MyPartialView", Model.PartialViewModel)

还有其他方法,但这些是你看到的相当普遍的方式。

答案 1 :(得分:1)

如果从父视图调用部分视图,则viewModel将位于父视图的ViewModel的子集中。您可以为父视图和部分视图使用不同的ViewModel。