我正在尝试实现部分视图,但我在使用模型时遇到了问题。我得到以下错误:
System.NullReferenceException: object reference not set to an instance of an object检测到错误的HTML代码如下:
@model IEnumerable<BUGTRACKER.Models.Revisiones>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Version)
</th>
<th>
@Html.DisplayNameFor(model => model.Descripción)
</th>
<th>
@Html.DisplayNameFor(model => model.Fecha)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Version)
</td>
<td>
@Html.DisplayFor(modelItem => item.Descripción)
</td>
<td>
@Html.DisplayFor(modelItem => item.Fecha)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
我真的不知道这是怎么回事,你知道吗?
编辑:这是我的动作
public ActionResult _Index()
{
return PartialView(db.Revisiones.ToList());
}发布于 2015-07-24 14:54:24
@levelnis方法做到了!
Try using Html.Action instead of Html.Partial to render the partial.这对我很有效。
发布于 2019-01-23 12:52:21
从视图模型中返回List<BugTracker.Models.Revisiones>列表,视图中的模型类型也是正确的。
但是您正在尝试访问ViewModel中而不是列表迭代器中的属性。
Version,Description,Fecha不是BugTracker.Models.Revisiones类的一部分。
解决方案是从ViewModel返回RevisonesViewModel
public ActionResult _Index()
{
return PartialView(object of RevisonesViewModel);
}而不是
public ActionResult _Index()
{
return PartialView(db.Revisiones.ToList());
}发布于 2015-07-24 00:39:09
你的模型是BUGTRACKER.Models.Revisiones的IEnnumerable
当你迭代的时候,这是可以的,因为它是一个列表。
但是,您不能这样做: model.Version,因为它doesNot存在于您的模型中。您需要的是一个封装属性和BUGTRACKER.Models.Revisiones列表的模型。
Public Class RevisonesViewModel{
public string Version{ get; set; }
public string Fetch{ get; set; }
public string Description{ get; set; }
public IEnumerable<BUGTRACKER.Models.Revisiones> MyRevisiones
}https://stackoverflow.com/questions/31591329
复制相似问题