【问题标题】:ASP.NET MVC Object reference not set ( adding value to model)未设置 ASP.NET MVC 对象引用(向模型添加值)
【发布时间】:2015-07-04 11:19:45
【问题描述】:

我的模型和控制器有愚蠢的问题。 我正在尝试使用局部视图在一个视图上显示两个模型。

当我在控制器中填充模型时,我收到此消息 Object reference not set.. 但我不知道为什么?

这是我的控制器和模型:

控制器:

public ActionResult MultiView()
{

    ChartItem c = new ChartItem();
    c.Name = "Chart";

    ChartItem c1 = new ChartItem();
    c1.Name = "Chart1";

    List<ChartItem> a = new List<ChartItem>();
    a.Add(c);
    a.Add(c1);

    ListItem l = new ListItem();
    l.Name = "List";
    ListItem l1 = new ListItem();
    l1.Name = "List1";

    List<ListItem> b = new List<ListItem>();
    b.Add(l);
    b.Add(l1);

    MultiModel m = new MultiModel();
    m.ChartItems.Add(c);
    m.ListItems.AddRange(b);

   List<MultiModel> model = new List<MultiModel>();
    model.Add(m);



    return View(model);
}

型号:

namespace MVCPArtial.Models
{
    public class ChartItem
    {
        public string Name { get; set; }
    }
}

型号:

namespace MVCPArtial.Models
{
    public class ListItem
    {
        public string Name { get; set; }
    }
}

型号:

namespace MVCPArtial.Models
{
    public class MultiModel
    {
        public List<ChartItem> ChartItems { get; set; }
        public List<ListItem> ListItems { get; set; }
    }

}

错误:

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4 model controller


    【解决方案1】:

    您尚未初始化MultiModel 中的集合。添加默认构造函数

    public class MultiModel
    {
        // add parameterless constructor
        public MultiModel()
        {
            ChartItems = new List<ChartItem>();
            ListItems  = new List<ListItem>)();
        }
        public List<ChartItem> ChartItems { get; set; }
        public List<ListItem> ListItems { get; set; }
    }
    

    或者在MultiView()方法中,初始化集合

    MultiModel m = new MultiModel();
    m.ChartItems = new List<ChartItem>(); // add this
    m.ListItems  = new List<ListItem>)(); // add this
    m.ChartItems.Add(c);
    m.ListItems.AddRange(b);
    

    【讨论】:

    • 伟大的斯蒂芬,非常感谢!
    猜你喜欢
    • 2020-04-13
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2018-09-07
    • 1970-01-01
    • 2011-02-08
    相关资源
    最近更新 更多