我有以下带有构造函数的视图模型:
public class ActivitiesReportViewModel
{
public ActivitiesReportViewModel()
{
List<ActivityType> ActivityTypeList = new List<ActivityType>();
List<Activity> ActivityList = new List<Activity>();
List<Client> ClientList = new List<Client>();
List<List<ActivityCounter>> ActivityCounterList = new List<List<ActivityCounter>>();
}
[DisplayName("Responsável")]
public string UserName { get; set; }
[DisplayName("Data Inicial")]
[Required]
public DateTime DateFrom { get; set; }
[DisplayName("Data Final")]
[Required]
public DateTime DateTo { get; set; }
[DisplayName("Tipos de Atividade")]
public virtual List<ActivityType> ActivityTypeList { get; set; }
[DisplayName("Atividades")]
public virtual List<Activity> ActivityList { get; set; }
[DisplayName("Clientes")]
public virtual List<Client> ClientList { get; set; }
public List<List<ActivityCounter>> ActivityCounterList { get; set; }
}
我的 ActionResult:
public ActionResult ActivityReport()
{
var model = new ActivitiesReportViewModel();
return View(model);
}
但初始化模型后,所有列表都为空,如下所示:
我调试了代码的执行,似乎构造函数被正确调用,我只是无法理解为什么所有列表在此之后仍然为空。
我是 C# 新手,所以也许我只是缺少一些基本的东西,并且非常感谢您提供的任何帮助。
先感谢您。
Ps:这种情况的问题是我收到空引用异常,因为在我的视图中使用时我的列表为空。
您在构造函数中声明新的局部变量并分配给它们,而不是分配给类中的属性。
将构造函数更改为:
public ActivitiesReportViewModel()
{
ActivityTypeList = new List<ActivityType>();
ActivityList = new List<Activity>();
ClientList = new List<Client>();
ActivityCounterList = new List<List<ActivityCounter>>();
}
像这样的重复名称是允许的,但可能会使事情变得混乱。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)