【问题标题】:Access properties from class that contains 2 models从包含 2 个模型的类中访问属性
【发布时间】:2021-03-28 17:05:41
【问题描述】:

我想在 1 个视图中添加 2 个模型。我创建了一个包含两个类的类:

public class Models
{
    public IEnumerable<Model1> model1 { get; set; }
    public IEnumerable<Model2> model2 { get; set; }
}

在我的视图中我设置了模型:

@model Models

当我尝试从第一个模型访问一些数据时,例如在编写模型之后,它只给了我 List 方法,而不是访问模型的属性。 我希望当我写model1.Name 时能够从模型model1 访问属性Name。 我知道这是一个列表类,但如何从模型中访问属性? 提前致谢!

【问题讨论】:

    标签: asp.net asp.net-core model-view-controller


    【解决方案1】:

    您的两个属性都是集合 (IEnumerable),那么您应该如何直接访问这些属性。您需要遍历属性,如下所示。

    @model Models
    
    @foreach(var item in Model.model1)
    {
        @item.Name
    }
    
    @foreach(var item in Model.model2)
    {
        @item.Name
    }
    

    【讨论】:

    • 那么我怎样才能访问这个例子中的属性:
    • 那你为什么要让你的属性 IEnumerable,只需使用 public Model1{get;set;}
    • 非常感谢,我只是从一篇关于一个视图中的多个模型的帖子中复制而来,并没有关注模型... :X
    • 现在,当我尝试使用“model1”类创建新用户时,出现此错误:InvalidOperationException:传递到 ViewDataDictionary 的模型项的类型为“Hotel_Reservations_Manager.Models.model1”,但这ViewDataDictionary 实例需要“Hotel_Reservations_Manager.Models.Models”类型的模型项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 2022-12-24
    相关资源
    最近更新 更多