1

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

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

4

2 回答 2

4

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

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

父视图

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

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

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

还有其他方法,但这些是您看到的相当常见的方法。

于 2013-09-28T22:35:45.823 回答
1

如果您从 Parent 视图调用 Partial 视图,则 viewModel 将在某种程度上是父 ViewModel 的子集。父视图和局部视图可以有不同的 ViewModel。

于 2013-09-28T21:55:40.127 回答