【问题标题】:Multiple Partial Views need the same Model - Only one 'model' statement is allowed in a file多个局部视图需要相同的模型 - 文件中只允许使用一个“模型”语句
【发布时间】:2016-10-27 18:57:47
【问题描述】:

在我看来,我有这个:

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

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

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

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

【问题讨论】:

  • 如果模型与您在父视图中使用的模型不同。只需创建另一个模型。 public class MainPageModel { public Model1 Model1{get; set;} public Model2 Model2{get; set;} }
  • 这是...我有一个@model,试图将其发送到两个部分
  • 删除模型并测试它是否有效 :) 像这样:@Html.Partial("_MyView.Subsection1") @Html.Partial("_MyView.Subsection2")

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


【解决方案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)

【讨论】:

  • 我不是...一个@model,只是将它发送到两个部分。
【解决方案2】:

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

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

模型会自动传入。

【讨论】:

    猜你喜欢
    • 2014-02-20
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 2020-02-07
    • 1970-01-01
    • 2019-04-21
    • 2020-12-27
    • 1970-01-01
    相关资源
    最近更新 更多