在MVC中访问ViewModel中的属性

本文关键字:属性 ViewModel 访问 MVC | 更新日期: 2023-09-27 18:16:40

我有一个具有两个属性的视图模型类(它们都是其他类的对象)。我可以使用

从父类访问变量
 @Model.Parent.ParentProperty1

但是我不能用语句

访问子类中的变量
 @Model.Child.Property1

My ViewModel(摘录)

 public virtual Parent parent {get;set}
 public virtual IEnumerable<Child> Children {get;set;}

子类在其定义中有对父类的引用。

我想达到的目标

我想从子类访问父属性。就像

 @Model.Child.ParentProperty1
        or
 @Model.Child.Property1

当我尝试访问属性时,智能感知提示我可以应用于IEnumerable的函数。

是否有一种方式,通过它我可以访问属性值?

PS:我试图访问变量在我的视图。

在MVC中访问ViewModel中的属性

智能感知是正确的。你正在尝试访问IEnumerable。您可以使用ElementAt -函数从IEnumerable访问特定元素。下面是第一个元素的例子:

@Model.Children.ElementAt(0)

我猜你想循环遍历你的子元素?您可以通过使用foreach:

来做到这一点。
@foreach(var child in Model.Children)
{
    var parent = child.Parent;
}