我对此处给出的已接受答案有一个后续问题:ASP MVC 3 中的一个视图中的两个模型
我有三个模型,类型、原因、位置,我想在一个视图中列出其内容。根据上面链接中的答案,我制作了一个新模型,它结合了如下所示:
public class Combined
{
public IEnumerable<Place> Place { get; set; }
public IEnumerable<Type> Type { get; set; }
public IEnumerable<Cause> Cause { get; set; }
}
我将其设为 IEnumerable<> 因为据我所知,当我只想在 foreach 循环中列出这些模型的内容时,这就是我想要的。然后我为视图制作了这个控制器:
[ChildActionOnly]
public ActionResult overSightHeadings()
{
Combined Combined = new Combined();
return View(Combined);
}
最后是视图(我只是想先从其中一个表中列出):
@model mvcAvvikelser.Models.Combined
@{
Layout = null;
}
<tr>
@foreach (var Type in Model.Type)
{
<th> @Html.DisplayTextFor(ModelItem => Type.Name)</th>
}
</tr>
这段代码的问题是它在 foreach 代码启动时抛出了一个空异常。
System.NullReferenceException: Object reference not set to an instance of an object.
所以我不完全确定我在这里做错了什么,它应该不是 IEnumerable,我是否在控制器中错误地初始化了模型?