[英]Not getting results in related tables using EF 5 and MVC 4
全新的C#/ ASP.NET ......
我有2個表:管理員和管理員權利。 在Administrators表中,每個Administrator都有一個AdministratorsRightsID。 這是我的管理員類(模型):
public partial class administrator
{
[Key]
public int AdministratorID { get; set; }
[Required]
public int AdministratorsRightsID { get; set; }
[Required]
public string UserName { get; set; }
[Required]
public string LastName { get; set; }
[Required]
public string FirstName { get; set; }
[Required]
public string StandardID { get; set; }
public virtual administratorsright RightsLevel { get; set; }
}
這是我的控制器:
public ActionResult Index()
{
return View(db.administrators.ToList());
}
這是我的觀點(剃刀):
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.RightsLevel)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.DisplayFor(modelItem => item.LastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.FirstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.StandardID)
</td>
<td>
@Html.ActionLink("Edit", "edit", new { id=item.AdministratorID }) |
@Html.ActionLink("Details", "details", new { id=item.AdministratorID }) |
@Html.ActionLink("Delete", "delete", new { id=item.AdministratorID })
</td>
</tr>
}
除了視圖中的item.RightsLevel之外,所有內容都會顯示。 我試圖讓它顯示名稱而不是ID(系統管理員,而不是“1”)。 我並不感到驚訝,因為我沒有告訴它要查看哪一列,但問題是,我不知道該怎么做。 我猜我的模型不正確,因為我懷疑所有這些邏輯都應該出現在那里。
這取決於您的AdministratorRights表以及您擁有的字段。 好消息是你可以在DisplayFor助手中更進一步,讓它拉出正確的字段:
@Html.DisplayFor(modelItem => item.RightsLevel.RightsLevelName)
其中RightsLevelName
是您嘗試顯示的字段的實際名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.