在 MVC 中访问 ViewModel 中的属性
Access properties in ViewModel in MVC
我有一个具有两个属性的视图模型 class(它们都是其他 classes 的对象)。我可以使用
从父 class 访问变量
@Model.Parent.ParentProperty1
但是我无法使用语句
访问子 class 中的变量
@Model.Child.Property1
我的 ViewModel(摘录)
public virtual Parent parent {get;set}
public virtual IEnumerable<Child> Children {get;set;}
子 class 在其定义中引用了父 class。
我想要达到的目标
我想从子 class 访问父 属性。像
@Model.Child.ParentProperty1
or
@Model.Child.Property1
当我尝试访问属性时,intelisense 会建议我可以在 IEnumerable 上应用的函数。
有什么方法可以访问 属性 值吗?
PS : 我正在尝试访问我的视图中的变量。
嗯,智能感知是正确的。您正在尝试访问 IEnumerable
。您可以使用 ElementAt
-function 从 IEnumerable
访问特定元素。这是第一个元素的示例:
@Model.Children.ElementAt(0)
我的猜测是您想遍历您的子元素?您可以使用 foreach
:
@foreach(var child in Model.Children)
{
var parent = child.Parent;
}
我有一个具有两个属性的视图模型 class(它们都是其他 classes 的对象)。我可以使用
从父 class 访问变量 @Model.Parent.ParentProperty1
但是我无法使用语句
访问子 class 中的变量 @Model.Child.Property1
我的 ViewModel(摘录)
public virtual Parent parent {get;set}
public virtual IEnumerable<Child> Children {get;set;}
子 class 在其定义中引用了父 class。
我想要达到的目标
我想从子 class 访问父 属性。像
@Model.Child.ParentProperty1
or
@Model.Child.Property1
当我尝试访问属性时,intelisense 会建议我可以在 IEnumerable 上应用的函数。
有什么方法可以访问 属性 值吗?
PS : 我正在尝试访问我的视图中的变量。
嗯,智能感知是正确的。您正在尝试访问 IEnumerable
。您可以使用 ElementAt
-function 从 IEnumerable
访问特定元素。这是第一个元素的示例:
@Model.Children.ElementAt(0)
我的猜测是您想遍历您的子元素?您可以使用 foreach
:
@foreach(var child in Model.Children)
{
var parent = child.Parent;
}