我的ViewModel有什么问题

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)

如果我删除.Matchesforeach它的作品.Matches在intellisense中没有显示.

Joe*_*ari 5

您的模型是IEnumerable<sportingbiz.Models.ViewModels.MatchesViewModel>一系列MatchesViewModels.在调用之前,您需要先列出该列表Matches.如果您只返回一个MatchesViewModel,请将模型声明更改为:

@model sportingbiz.Models.ViewModels.MatchesViewModel
Run Code Online (Sandbox Code Playgroud)

编辑 - 我经常使用的一个技巧是将鼠标悬停在任何实例上Model,VS会告诉你模型的类型.