2011-01-17 3 views
8

In asp.net MVC 3 gibt es ein neues Attribut, das es uns ermöglicht, zusätzliche Metadaten zu unseren Ansichten z.Beispiel für die Verwendung von AdditionalMetadata in MVC 3

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

Die Frage ist, wie nutze ich diese Informationen eigentlich aus meiner Sicht? Ich dachte, dass es vielleicht die Daten als html 5 Datenattribute ausgibt, aber das ist nicht der Fall.

Ein einfaches Beispiel würde sehr geschätzt werden.

+0

AFAIK, sind Sie verantwortlich für die durchwühlen [ModelMetadata.AdditionalValues] (http://msdn.microsoft.com/en-us /library/system.web.mvc.modelmetadata.additionalvalues.aspx) innerhalb Ihrer Vorlagen, um davon Gebrauch zu machen. Weiß nicht, ob es "Standard" -Schlüssel gibt, die von Anfang an nützlich sind. – Will

Antwort

17

Nach dem documentation:

Sie die AdditionalMetadataAttribute Klasse bevölkern die ModelMetadata.AdditionalValues ​​ Wörterbuch für ein Modell Eigenschaft nutzen können.

...

Diese Metadaten werden in jedem Anzeige oder Editor-Vorlage, wenn ein Produktansicht Modell gemacht wird, zur Verfügung gestellt. Es ist bis zu Ihnen als Anwendungsentwickler interpretieren Sie die Metadateninformationen.

So die Nutzung von in der Ansicht machen lassen:

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

Würden Sie uns auch zeigen, dass es in einer Editor-Vorlage funktioniert? - ta –

+0

ich wieder, sorry, ViewData.ModelMetadata.AdditionalValues ​​["Tooltip"] –