簡體   English   中英

使用EF 5和MVC 4未在相關表中獲得結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM