C# 未设置ASP.NET MVC对象引用(为模型添加值)
我的模型和控制器有愚蠢的问题。 我试图在一个视图上用局部视图显示两个模型 当我在控制器中填充模型时,我收到的消息对象引用未设置。。 但我不知道为什么 这是我的控制器和型号: 控制器:C# 未设置ASP.NET MVC对象引用(为模型添加值),c#,asp.net-mvc,asp.net-mvc-4,model,controller,C#,Asp.net Mvc,Asp.net Mvc 4,Model,Controller,我的模型和控制器有愚蠢的问题。 我试图在一个视图上用局部视图显示两个模型 当我在控制器中填充模型时,我收到的消息对象引用未设置。。 但我不知道为什么 这是我的控制器和型号: 控制器: public ActionResult MultiView() { ChartItem c = new ChartItem(); c.Name = "Chart"; ChartItem c1 = new ChartItem(); c1.Name = "Chart1";
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; }
}
}
型号:
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; }
}
}
namespace MVCPArtial.Models
{
公共级多模式
{
公共列表图表项{get;set;}
公共列表列表项{get;set;}
}
}
错误:您尚未在
多模式
中初始化集合。或者添加一个默认构造函数
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; }
}
太好了,斯蒂芬,非常感谢你!