2010-09-07 45 views
8

我做INT這樣的:如何在html.LabelFor中顯示一些文本?

Hello <%= Html.LabelFor(user => user.UserName)%> 

但IAM越來越不是一個值,它是在財產,但奇怪的事情是這樣的:

Hello User Name, 

怎麼能這樣做是爲了給在標籤的一些價值出來?

回答

10

原因是因爲Html.LabelFor將做到這一點 - 爲屬性創建一個標籤。在這種情況下,由於屬性名稱是用戶名,因此它會生成「用戶名」標籤。

你只需要看看模型(或任何你傳遞給視圖)返回屬性值:Html.Encode(Model.UserName)

更新(因爲這近3年前,但人們最近upvoted):

你可以使用<%: Model.UserName %>獲得HTML編碼值(<%=將其寫爲原料和<%:將其寫入編碼)。

如果您使用的是Razor視圖引擎,則@Model.Username會將其寫出已編碼。

13

添加DataAnnotations到你的模型/視圖模型:

public class Customer 
{ 
    [Display(Name = "Email Address", Description = "An email address is needed to provide notifications about the order.")] 
    public string EmailAddress { get; set; } 

    [Display(ResourceType=typeof(DisplayResources), Name="LName", Description="LNameDescription")] 
    public string LastName { get; set; } 
} 

來源:http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.displayattribute(v=VS.95).aspx

如果不提供由DisplayAttribute的顯示名稱,然後Html.EditorFor(...)使用屬性的名稱,劈裂它大寫信件:

屬性名 - >標籤文本
電子郵件 - > EM ail
EmailAdress - >電子郵件地址