2010-04-28 9 views
7

Utilizzo ASP.NET MVC 2 e sto cercando di capire come utilizzare il metodo helpet Html.LabelFor.Utilizzo di Html.LabelFor per visualizzare l'etichetta leggibile dall'uomo?

Supponendo Ho un modello:

public class Person 
{ 
    public string FirstName { get; set; } 
} 

A mio avviso, se scrivo:

<%: Html.LabelFor(model => model.FirstName) %> 

Cosa ottengo sulla pagina è "FirstName". Ma non lo voglio perché non è user-friendly. Voglio che sia "Nome".

Come ottengo ciò?

Grazie.

risposta

24

Proprio come questo:

public class Person 
{ 
    [DisplayName("First Name")] 
    public string FirstName { get; set; } 
} 

System.ComponentModel.DisplayNameAttribute

Si dovrebbe anche controllare System.ComponentModel.DataAnnotations per qualche convalida incredibilmente utile attributi come [Range(0, 100)], [StringLength(100)], [Required] e altro ancora.

+0

Beh, sembra logico :-) grazie! –

+0

Hai scommesso. In bocca al lupo! –

-1

Questo dovrebbe funzionare la risposta di

<%= Html.LabelFor(model => model.FirstName) %> 
0

Nathan Taylor è il più facile. Un'altra risposta potrebbe essere quella di creare un numero personalizzato DataAnnotationsModelMetadataProvider, che ottiene il nome della proprietà e lo divide usando un helper per le stringhe. ASP.NET MVC2 di Manning in Action (2a edizione) ne ha un esempio nel Capitolo 15.

Problemi correlati