在MVC

时间:2015-10-07 11:55:48

标签: c# asp.net-mvc-5 viewmodel

我有一个带有两个属性的viewmodel类(它们都是其他类的对象)。我可以使用

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

但是我无法使用语句

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

我的ViewModel(摘录)

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

Child类在其定义中引用了父类。

我想要实现的目标

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

这样的东西
 @Model.Child.ParentProperty1
        or
 @Model.Child.Property1

当我尝试访问属性时,intelisense会建议我可以应用于IEnumerable的函数。

有没有办法可以访问属性值?

PS:我正在尝试访问变量sin my view。

1 个答案:

答案 0 :(得分:1)

智能感知是正确的。您正在尝试访问IEnumerable。您可以使用ElementAt-function访问IEnumerable中的特定元素。以下是第一个元素的示例:

@Model.Children.ElementAt(0)

我的猜测是你想循环你的孩子元素?您可以使用foreach

来实现
@foreach(var child in Model.Children)
{
    var parent = child.Parent;
}