我正在使用MVC 4 Beta,但这似乎并不特定于MVC 4.我是MVC的新手,所以这可能只是我需要指向正确的方向。谢谢!
我正在使用定义为...的视图模型
public class PatientWithVisits
{
public Patient Patient { get; set; }
public IEnumerable<Visit> Visits { get; set; }
}
在我看来,我正在使用HTML帮助器(在本例中为LabelFor
)并通过lambda表达式传递我的属性,如@Html.LabelFor(model => model.VisitId)
。
我开始挖掘并很快意识到我的错误。视图模型没有VisitId
属性。但是,解决问题并不像找到问题那么简单。
我尝试将model => model.VisitId
更改为model => model.Visits.VisitId
,但这不起作用。正如我所料,model
的智能感知包括Patient
和Visits
。但是,Visits
未包含我期望在Visit
中看到的任何属性,例如VisitId
。 Visits
集合的intellisense仅包含扩展方法。
发生了什么以及如何获取Visit
的属性?
答案 0 :(得分:1)
访问是一个集合,但集合中的每个Visit
都有一个VisitId
。只需按要求显示它们:
@foreach (var visit in Model.Visits)
{
@visit.VisitId
}
答案 1 :(得分:0)
您还需要向ViewModel添加一个名为ViewId
的属性