2014-10-17 155 views
1

在我的MVC應用程序中,我有一個模型是某個「類別」,另一個模型。
當顯示索引視圖時,此模型的名稱和類別名稱都被稱爲「名稱」,我如何將類別的顯示名稱更改爲名稱以外的名稱?更改外鍵MVC的顯示名稱

[Table("Product")] 
    public partial class Product 
    { 
     public int ProductId { get; set; } 

     [Required] 
     public string Name { get; set; } 

     [Required] 
     public string Description { get; set; } 

     public int CategoryId { get; set; } 

     public decimal Price { get; set; } 

     public virtual Category Category { get; set; } 
    } 

我一直在使用[DisplayName ("New Name")]兩個類別編號上方和類別嘗試,這似乎並沒有工作,任何人都可以告訴我?

謝謝

+0

您是否在使用其他映射文件? – 2014-10-18 00:02:01

+0

不清楚你想要什麼,但如果你使用[Display(Name =「New Name」))public int CategoryId {get;組; }'在視圖中'@ Html.LabelFor(m => m.CategoryID)'它會呈現_「新名字」_ – 2014-10-18 00:05:18

回答

0

當您使用腳手架來生成您的意見時,可能會發生這種情況。它發生在使用下拉列表選擇外鍵的地方。與其他生成的標籤不同,這些標籤將傳遞一個附加參數「labelText」,它將覆蓋您在模型屬性中設置的DisplayName。刪除附加參數或將其更改爲要顯示的文本。我在下面的示例代碼中添加了文本(ChangeOrRemoveMe)。

<div class="form-group"> 
     @Html.LabelFor(model => model.CategoryID, "CategoryID(ChangeOrRemoveMe)", htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownList("CategoryID", null, htmlAttributes: new { @class = "form-control" }) 
      @Html.ValidationMessageFor(model => model.CategoryID, "", new { @class = "text-danger" }) 
     </div> 
    </div>