2010-09-07 33 views
8

que estoy haciendo int así:cómo mostrar texto en html.LabelFor?

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

Pero iam conseguir no es un valor que está en la propiedad, pero algo extraño como esto:

Hello User Name, 

¿Cómo puede hacerlo para dar algún valor en la etiqueta cabo ?

Respuesta

10

La razón de esto es porque Html.LabelFor hará exactamente eso: cree una etiqueta para la propiedad. En este caso, está produciendo una etiqueta de 'Nombre de usuario' ya que el nombre de la propiedad es Nombre de usuario.

sólo tiene que mirar en el modelo (o lo que su paso a la vista) para devolver el valor de la propiedad: Html.Encode(Model.UserName)

actualización (ya que esto fue hace casi 3 años, pero las personas recientemente han upvoted):

Usted sólo puede usar <%: Model.UserName %> para obtener el valor codificado en HTML (<%= escribe como prima y <%: lo escribe codificado).

Si está utilizando un motor de vista Razor, entonces @Model.Username lo escribirá ya codificado.

13

Añadir DataAnnotations a su modelo/modelo de vista:

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; } 
} 

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

Si no se proporciona un nombre de visualización por el DisplayAttribute continuación Html.EditorFor(...) utiliza el nombre de propiedades, spliting en mayúsculas letras:

PropertyName - texto> Etiqueta
E-mail -> Em ail
EmailAdress -> Dirección de correo electrónico

Cuestiones relacionadas