MVC3-在一个视图中有两个模型-错误-如何分类

|| 我想在一个视图中使用两个模型。为此,我进行了以下设置。 在一个.cs文件中,我具有以下模型代码:
public class Class1   
{
   //List of atttributes 1.
}

public class Class2   
{
   //List of atttributes 2.
}


 public class ParentView
{
   public Class1 Class1{get; set;}
   public Class2 Class2{get; set;}

}
为了在一个视图中使用这两个类,我引用了
@model IEnumerable<Project.Models.ParentView> 
在“查看.cshtml”页面中。并且在我的视图代码中,有这段代码正在分解..我收到一条错误消息:-“ models.parentview没有Class1Attribute的定义,也没有扩展方法.....等等。\”我对下面的语句进行分类,以便识别属性。
@foreach (var item in Model)
  {

        @Html.DisplayFor(modelItem => item.Class1Attribute)

        @Html.DisplayFor(modelItem => item.Class1Atttribute)    


  }
谢谢你的帮助。     
已邀请:
        
@Html.DisplayFor(modelItem => item.Class1.Class1Attribute)
您的模型中是否有多个ParentView?如果没有,那么你可以拥有
@model Project.Models.ParentView
然后引用您的类属性为
@Html.DisplayFor(modelItem => Model.Class1.Class1Attribute)
@Html.DisplayFor(modelItem => Model.Class2.Class2Attribute) 
    
        采用
 @Html.DisplayFor(modelItem => modelItem.Class1.Class1Attribute)
或者,您可以做类似的事情
 @foreach (var item in Model.Class1)
 {
    @Html.DisplayFor(modelItem => item.Class1Attribute1)

    @Html.DisplayFor(modelItem => item.Class1Attribute2)    

  }
    
        您的属性称为
Class1
Class2
=>
@Html.DisplayFor(x => x.Class1.Class1Attribute)
@Html.DisplayFor(x => x.Class2.Class2Attribute)  
甚至最好使用显示模板,而不要编写任何循环:
@Html.DisplayForModel()
然后在
~/Views/Shared/DisplayTemplates/ParentView
内:
@model ParentView
@Html.DisplayFor(x => x.Class1)
@Html.DisplayFor(x => x.Class2)
~/Views/Shared/DisplayTemplates/Class1.cshtml
内:
@model Class1
@Html.DisplayFor(x => x.Class1Attribute)
~/Views/Shared/DisplayTemplates/Class2.cshtml
内:
@model Class2
@Html.DisplayFor(x => x.Class2Attribute)
    
        我认为你的循环应该如下
@foreach (var item in Model)
{

    @Html.DisplayFor(modelItem => item.Class1.Class1Attribute)

    @Html.DisplayFor(modelItem => item.Class1.Class1Atttribute)    
}
我假设
Class1Attribute
Class1
级的房产     

要回复问题请先登录注册