不填充数据的模型?

时间:2013-07-05 15:51:11

标签: c# asp.net-mvc

我最近在我的视图中更改了我的网站结构以使用两个模型,但现在我的视图没有填充任何内容。希望有人可以帮我弄清楚什么是错的。

型号:

namespace FTv2.Models
{
    public class UnitViewModel
    {
        public Unit Unit { get; set; }
        public int TradeCount { get; set; }
    }
    public class UnitViewModelDBContext : DbContext
    {
        public DbSet<Trade> Movies { get; set; }
        public DbSet<Unit> Units { get; set; }
    }
}

控制器:

 var units = db.Units;
    var students = db.Units.Select(u => new UnitViewModel()
    {
        Unit = u,
        TradeCount =
               db.Movies.Where(t => t.Name == u.Name).Count()
    });
    return View(students.ToPagedList(pageNumber, pageSize));

查看:

 @model PagedList.IPagedList<FTv2.Models.UnitViewModel>

    <table style="border-width: 1px; border-color:#000000; border-style: solid; border-top: 2px; border-top-color:#000000; border-top-style: solid;">
        <tr>
            <th></th>
            <th>Name</th>
            <th>Type</th>
            <th>Skill</th>
            <th>Rating</th>
        </tr>

    @foreach (var item in Model) {

        <tr>
            <td>
                @{ ViewBag.ImgUrl = item.Name + ".png";}
                <a href="/Images/@ViewBag.ImgUrl" data-lightzap="" ><img src="/Images/@ViewBag.ImgUrl" HEIGHT="66" WIDTH="50" ></a>
            </td>
            <td>
                <a href="/ActiveTrades?Name=@item.Unit.Name">@Html.DisplayFor(modelItem => item.Unit.Name)</a>
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Unit.Type)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Unit.Skill)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Unit.Rating)
            </td>
            <td>
                  @Html.DisplayFor(modelItem => item.TradeCount)
            </td>
        </tr>
    }
    </table>

提前感谢您的帮助,我真的很感激!

编辑:确认的页面列表不是问题,因为它甚至在返回普通视图时仍然存在。

2 个答案:

答案 0 :(得分:0)

UnitViewModelDBContext设置是否可以与您的数据库一起使用?您可以使用常规DbContext按照之前的其他问题填充单位。

答案 1 :(得分:0)

什么是modelItem?使用@Html.DisplayFor(item => item.XXX)是否有效,因为循环变量为item

 @foreach (var item in Model) {

    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Unit.Type)
        </td>