多个部分视图需要相同的模型 - 文件中只允许一个“模型”语句

时间:2016-10-27 18:57:48

标签: c# .net asp.net-mvc asp.net-mvc-4

在我看来,我有这个:

    @Html.Partial("_MyView.Subsection1", Model)

    @Html.Partial("_MyView.Subsection2", Model)

但我收到错误 - Only one 'model' statement is allowed in a file.

如何在多个部分视图中支持我的Model

2 个答案:

答案 0 :(得分:1)

我认为您在文件中放置了两个模型语句,如下所示:

@model Model1
@model Model2

这是不允许的,但您可以将两个模型合并到一个具有两个属性的模型中,如下所示:

public class MergedModel
{
 public Model1 FirstModel {get;set;}
 public Model2 SecondModel {get;set;}
}

因此,您可以将它们传递给相应的部分视图:

@model MergedModel

@Html.Partial("_MyView.Subsection1", Model.FirstModel)
@Html.Partial("_MyView.Subsection2", Model.SecondModel)

答案 1 :(得分:0)

如果您想在两个部分视图中使用相同的模型,可以执行以下操作:

@Html.Partial("_MyView.Subsection1") 
@Html.Partial("_MyView.Subsection2") 

模型将自动传入。