cod*_*biz 0 c# asp.net-mvc razor
我试图通过ViewModel将一些列表传递给我的视图.我已多次重建我的项目无济于事.我在线查看,与我的方法没什么不同.

namespace sportingbiz.Models.ViewModels
{
public class MatchesViewModel
{
private List<MatchViewModel> _matches = new List<MatchViewModel>();
public List<MatchViewModel> Matches
{
get { return _matches; }
set { _matches = value; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
标记
@model IEnumerable<sportingbiz.Models.ViewModels.MatchesViewModel>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<table style="width:100%">
@foreach (var item in Model.Matches)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Team1Name)
</td>
</tr>
}
Run Code Online (Sandbox Code Playgroud)
如果我删除.Matches从foreach它的作品.Matches在intellisense中没有显示.
您的模型是IEnumerable<sportingbiz.Models.ViewModels.MatchesViewModel>一系列MatchesViewModels.在调用之前,您需要先列出该列表Matches.如果您只返回一个MatchesViewModel,请将模型声明更改为:
@model sportingbiz.Models.ViewModels.MatchesViewModel
Run Code Online (Sandbox Code Playgroud)
编辑 - 我经常使用的一个技巧是将鼠标悬停在任何实例上Model,VS会告诉你模型的类型.