首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >模型上的MVC空引用

模型上的MVC空引用
EN

Stack Overflow用户
提问于 2015-07-23 23:08:09
回答 3查看 311关注 0票数 0

我正在尝试实现部分视图,但我在使用模型时遇到了问题。我得到以下错误:

代码语言:javascript
复制
System.NullReferenceException: object reference not set to an instance of an object

检测到错误的HTML代码如下:

代码语言:javascript
复制
@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>
}

我真的不知道这是怎么回事,你知道吗?

编辑:这是我的动作

代码语言:javascript
复制
public ActionResult _Index()
{
    return PartialView(db.Revisiones.ToList());
}
EN

回答 3

Stack Overflow用户

发布于 2015-07-24 14:54:24

@levelnis方法做到了!

代码语言:javascript
复制
Try using Html.Action instead of Html.Partial to render the partial.

这对我很有效。

票数 0
EN

Stack Overflow用户

发布于 2019-01-23 12:52:21

从视图模型中返回List<BugTracker.Models.Revisiones>列表,视图中的模型类型也是正确的。

但是您正在尝试访问ViewModel中而不是列表迭代器中的属性。

Version,Description,Fecha不是BugTracker.Models.Revisiones类的一部分。

解决方案是从ViewModel返回RevisonesViewModel

代码语言:javascript
复制
    public ActionResult _Index()
    {
        return PartialView(object of RevisonesViewModel);
    }

而不是

代码语言:javascript
复制
    public ActionResult _Index()
    {
        return PartialView(db.Revisiones.ToList());
    }
票数 0
EN

Stack Overflow用户

发布于 2015-07-24 00:39:09

你的模型是BUGTRACKER.Models.Revisiones的IEnnumerable

当你迭代的时候,这是可以的,因为它是一个列表。

但是,您不能这样做: model.Version,因为它doesNot存在于您的模型中。您需要的是一个封装属性和BUGTRACKER.Models.Revisiones列表的模型。

代码语言:javascript
复制
Public Class RevisonesViewModel{
      public string Version{ get; set; }
      public string Fetch{ get; set; }
      public string Description{ get; set; }
      public IEnumerable<BUGTRACKER.Models.Revisiones> MyRevisiones
}
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31591329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档