我建立了一个类:
public partial class SvcCodes
{
public List<SvcCodeReport> Report { get; set; }
public List<SvcCodesCheck> TestList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
它使用这个类:
public partial class SvcCodeReport
{
public List<Dictionary<string, object>> ProgResults { get; set; }
public IEnumerable<ExtraData> ExtraData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,数据从两个来源拉取并分配给 SvcCodeReport 类:
var model = new SvcCodeReport()
{
ProgResults = tasks,
ExtraData = _context.ExtraData.Where(h => h.ServiceCode == Int32.Parse(id)
};
Run Code Online (Sandbox Code Playgroud)
然后将模型变量添加到 Report 类中:
check.Report.Add(model);
Run Code Online (Sandbox Code Playgroud)
但是当我运行程序时,我得到一个空对象错误和一行说:
LRProgReport.Models.SvcCodes.Report.get returned null
Run Code Online (Sandbox Code Playgroud)
这个错误是说在添加之前还是之后报告为空?
如果以前,为什么这是一个问题?如果之后,为什么模型变量没有被添加到列表中?
您应该先初始化Report列表,然后在SvcCodes构造函数中进行;
public partial class SvcCodes
{
public List<SvcCodeReport> Report { get; set; }
public List<SvcCodesCheck> TestList { get; set; }
public SvcCodes()
{
Report = new List<SvcCodeReport>();
}
}
Run Code Online (Sandbox Code Playgroud)