详情视图在MVC +连接表
本文关键字:连接 MVC 视图 | 更新日期: 2023-09-27 17:54:59
这个问题我需要一些建议/帮助。我一直在网上找,我有点困惑。
基本上我有一个视图索引,其中列出了我所有的电影。有一个细节视图,显示关于电影的额外信息。问题是,当我查看详细信息视图时,它没有显示我的一些值。我明白为什么我有一个强类型的模型,但我需要一些帮助,如何解决这个问题。 模型 public class Film
{
public int FilmID { get; set; }
[StringLength(60, MinimumLength = 1)]
[Required]
public string Title { get; set; }
..............
public Owner owners { get; set; }
}
控制器 public ActionResult Details(int id = 0)
{
Film film = db.Films.Find(id);
if (film == null)
{
return HttpNotFound();
}
return View(film);
}
视图 @model SwapShop.Models.Film
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<fieldset>
<legend>Film</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.Title):
</div>
<div class="display-field">
@Html.DisplayFor(model => model.Title)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.owners.Owner_FirstName)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.owners.Owner_FirstName)
</div>
</fieldset>
正在显示正确的记录,但owner_FirstName的值为空。我需要在控制器中加入Owner表吗?
如果你使用实体框架,像owners
这样的导航属性可能不会在你获取电影时被获取。不如试试这个:
Film film = db.Films.Include(f=> f.owners).SingleOrDefault(f => f.FilmId == id);