多个分部视图需要相同的模型——只有一个'Model '语句在文件中是允许的

本文关键字:语句 Model 文件 视图 模型 有一个 | 更新日期: 2023-09-27 18:15:22

在我看来,我有这个:

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

但是我得到一个错误- Only one 'model' statement is allowed in a file.

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

多个分部视图需要相同的模型——只有一个'Model '语句在文件中是允许的

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

@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)

如果你想在两个局部视图中使用相同的模型,你可以这样做:

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

模型将自动传入