我有一个使用基本模型制作的 ViewModel。我还能够将数据插入表中。
我现在想检索数据并显示在我的表单上。我应该在我的Index View中编写什么代码。
我的 ViewModel 由来自 2 个不同基本模型的属性组成。因此,在视图中,当我尝试使用我的ViewModel的属性获取信息时,它会给出“对象未设置为对象的实例”错误。
代码如下:
视图模型类:
public class VideoContextViewModel
{
public string VideoName { get; set; }
public string DescriptionVideo { get; set; }
public string actor { get; set; }
public HttpPostedFileBase references { get; set; }
}
基本模型类:
public class video
{
public int ID { get; set; }
public string VideoName { get; set; }
public string DescriptionVideo { get; set; }
public string FilmName { get; set; }
public int ratings { get; set; }
}
public class videoDetails
{
public int VideoDetailsID { get; set; }
public string actor { get; set; }
public byte[] reference { get; set; }
public int ID { get; set; }
public virtual video Video { get; set; }
}
索引视图:
@model IEnumerable< ConnectDatabase. VideoContextViewModel>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.VideoName)
</td>
<td>
@Html.DisplayFor(modelItem => item.DescriptionVideo)
</td>
<td>
@Html.DisplayFor(modelItem => item.actor)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ })
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ })
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
当我运行解决方案时,我收到错误:
对象不能设置为对象的实例。我将鼠标悬停在 foreach 循环中的“模型”上,它显示为 Null。
因此,我应该在这里写什么以便显示两个表中的数据?