2012-01-31 4 views
8

C'è un modo per avere un'annotazione dei dati per ciò che dovrebbe essere in placeholder attr su una casella di testo in una visualizzazione MVC?Fornire l'annotazione dei dati per il segnaposto attr per la casella di testo in MVC

Esempio:

Nei miei ViewModel.cs, qualcosa di simile a:

[Placeholder="First name"] 
public string FirstName { get; set; } 

A mio avviso:

@this.Html.TextBoxFor(m => m.FirstName) 

Se che potrebbe rendere questo:

<input type="text" placeholder="First name" ... /> 

È possibile? Grazie!

risposta

10

provare

@this.Html.TextBoxFor(m => m.FirstName, new{placeholder="First name"}) 

Ah, non nel modello.

È possibile definire il proprio attributo di magazzino http://blogs.msdn.com/b/aspnetue/archive/2010/02/24/attributes-and-asp-net-mvc.aspx. Penso che avrai bisogno di un helper html personalizzato per generare l'html.

+1

questo è fantastico! sai da quale attributo avrei bisogno di ereditare? l'esempio nel tuo collegamento eredita da 'ActionFilterAttribute' –

+0

l'esempio ha un elenco di classi di attributi, scegli quello più vicino a quello che vuoi fare. Oppure utilizzare ereditare da System.Attribute per un inizio clean (er). – PhilW

0

Io non la penso così, ma potresti scrivere il tuo helper personalizzato e attributo per farlo. http://www.aspnetwiki.com/page:creating-custom-html-helpers

+0

grazie per il collegamento! sfortunatamente, non vedo alcun esempio in cui io possa avere '[Placeholder =" First name "]' sopra la proprietà nel mio modello di vista. Invece, ci sono degli esempi per 'this.Html.TextboxFor (m => m.FirstName," Testo segnaposto qui ")', che vanificherebbe lo scopo perché voglio che questo testo codificato sia con il modello di vista, non in la vista. –

+0

Lo so, è necessario eseguire il rollover del proprio helper e attributo. Qui, la risposta di BuildStarted mostra come ha creato un attributo personalizzato, http://stackoverflow.com/questions/7418664/access-displayname-attribute-from-the-model-in-mvc-view. L'helper personalizzato potrebbe quindi leggere il tuo attributo personalizzato. –

Problemi correlati