2011-01-17 11 views
8

En asp.net MVC 3 hay un nuevo atributo que nos permite pasar metadatos adicionales a nuestras vistas, p.Ejemplo de uso de AdditionalMetadata en MVC 3

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

La pregunta es, ¿cómo hago uso de esta información en mi opinión? Pensé que quizás rendiría los datos como atributos de datos html 5, pero este no es el caso.

Un simple ejemplo sería muy apreciado.

+0

yo sepa, usted es responsable de hurgar en [ModelMetadata.AdditionalValues] (http://msdn.microsoft.com/en-us /library/system.web.mvc.modelmetadata.additionalvalues.aspx) dentro de sus plantillas para hacer uso de esto. No sé si hay alguna tecla "predeterminada" que sea útil de manera inmediata. – Will

Respuesta

17

De acuerdo con la documentation:

Puede utilizar la clase AdditionalMetadataAttribute a pueblan la ModelMetadata.AdditionalValues ​​ Inglés para una propiedad del modelo.

...

Estos metadatos se pone a disposición a cualquier plantilla pantalla o editor cuando se representa una vista de modelo producto. Es depende de usted como desarrollador de la aplicación interpretar la información de metadatos.

Así que vamos a hacer uso de ella en la vista:

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

¿También nos mostrarías que funciona en una plantilla de editor? - ta –

+0

mí otra vez, lo siento, ViewData.ModelMetadata.AdditionalValues ​​["Tooltip"] –