2011-01-17 10 views
8

In asp.net MVC 3 è disponibile un nuovo attributo che ci consente di trasferire ulteriori metadati alle nostre visualizzazioni, ad es.Esempio di utilizzo di AdditionalMetadata in MVC 3

[Required] 
    [AdditionalMetadata("Tooltip", "The title of the item")] 
    public string Title { get; set; } 

La domanda è: come faccio a utilizzare effettivamente queste informazioni a mio avviso? Ho pensato che forse avrebbe reso i dati come attributi di dati HTML 5 ma non è questo il caso.

Un semplice esempio sarebbe molto apprezzato.

+0

per quanto ne so, sei responsabile per rovistare [ModelMetadata.AdditionalValues] (http://msdn.microsoft.com/en-us /library/system.web.mvc.modelmetadata.additionalvalues.aspx) all'interno dei modelli per fare uso di questo. Non so se ci sono dei tasti "predefiniti" che tornano utili fuori dalla scatola. – Will

risposta

17

Secondo il documentation:

È possibile utilizzare la classe AdditionalMetadataAttribute al popolano la ModelMetadata.AdditionalValues ​​ dizionario per una proprietà del modello.

...

Questi metadati è reso disponibile a qualsiasi modello di visualizzazione o editor di quando una vista del modello prodotto viene reso. È a voi come sviluppatore di applicazioni a interpretare le informazioni sui metadati.

Quindi cerchiamo di fare uso di esso nella vista:

<h2> 
    @ModelMetadata.FromLambdaExpression(x => x.Title, ViewData).AdditionalValues["Tooltip"] 
</h2> 
+0

Mostreresti anche che funziona in un modello di editor? - ta –

+0

di nuovo, mi dispiace, ViewData.ModelMetadata.AdditionalValues ​​["Tooltip"] –

Problemi correlati