【问题标题】:NullReferenceException. Object reference not set to an instance of an object C# Visual Studio空引用异常。对象引用未设置为对象的实例 C# Visual Studio
【发布时间】:2013-06-14 10:36:13
【问题描述】:

我每次都会出错。我找不到解决办法。 当我构建解决方案时,它成功了,但是它在模型类的下面一行给出了服务器错误:

    public List<Item> Items { get; set; }

这是视图:

@{foreach(var item in Model.Items) 
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.DepartmentId)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.EmployeeId)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.SignNo)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.StartDate)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.EndDate)
            </td>

        </tr>
    }
}

型号

public class ListTable
    {
        public class Item
        {
            public string EmployeeId { get; set; }
            public string DepartmentId { get; set; }
            public string SignNo { get; set; }
            public DateTime StartDate { get; set; }
            public DateTime EndDate { get; set; }
        }

        public List<Item> Items { get; set; }

    }
}

如何摆脱这个错误?

【问题讨论】:

  • 您是否为 Items 属性分配了任何值?
  • 你能显示创建模型的动作代码吗?
  • 不,我没有给它分配任何东西!是 dat 导致错误吗?
  • @saumyavishwakarma 呃...是吗?

标签: c# visual-studio-2010 nullreferenceexception


【解决方案1】:

由于 Class 是一种非原始数据类型,您不能只拥有对象的属性而不实例化它。

以下代码将起作用:

     List<Item> Items = new List<Items>(); 
     public List<Item> Items { get; set; }

【讨论】:

    【解决方案2】:

    首先将列表的新实例分配给属性:

    public List<Item> { get; set; }
    
    // in constructor:
    public ListTable()
    {
        Items = new List<Item>();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-30
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多