局部视图和父视图可以有两个不同的视图模型吗?
例如,部分视图可能具有特定于该模型的下拉列表,而父视图可能具有用于某些其他实体的另一个模型。
局部视图和父视图可以有两个不同的视图模型吗?
例如,部分视图可能具有特定于该模型的下拉列表,而父视图可能具有用于某些其他实体的另一个模型。
是的,部分视图和父视图可以有两个不同的视图模型。
部分视图必须从某个地方获取它的 viewModel,所以这可能只是直接从视图中创建它
父视图
@{
var partialViewModel = new SomeOtherModel()
{
PartialName = Model.Name,
SomeProperty = SomeOtherVariable
};
Html.Partial("_MyPartialView", partialViewModel);
}
或者更常见的方法是 Partial ViewModel 是父 ViewModel 的一个属性
@Html.Partial("_MyPartialView", Model.PartialViewModel)
还有其他方法,但这些是您看到的相当常见的方法。
如果您从 Parent 视图调用 Partial 视图,则 viewModel 将在某种程度上是父 ViewModel 的子集。父视图和局部视图可以有不同的 ViewModel。