¿Cómo se muestra el valor del atributo DisplayAttribute.Description?

Tengo una clase modelo, con una propiedad como esta:

[Display(Name = "Phone", Description="Hello World!")] public string Phone1 { get; set; } 

Mostrar una etiqueta y renderizar un cuadro de texto para la entrada en mi vista es bastante fácil:

 @Html.LabelFor(model => model.Organization.Phone1) @Html.EditorFor(model => model.Organization.Phone1) @Html.ValidationMessageFor(model => model.Organization.Phone1) 

Pero ¿cómo puedo representar el valor del atributo de anotación Descripción, es decir, “Hola mundo!”

Terminé con un ayudante como este:

 using System; using System.Linq.Expressions; using System.Web.Mvc; public static class MvcHtmlHelpers { public static MvcHtmlString DescriptionFor(this HtmlHelper self, Expression> expression) { var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData); var description = metadata.Description; return MvcHtmlString.Create(string.Format(@"{0}", description)); } } 

Gracias a quienes me guiaron en la dirección correcta. 🙂

Usando la técnica de este artículo sobre cómo mostrar sugerencias visuales para los campos en su formulario , puede acceder al valor a través de lo siguiente:

 @Html.TextBoxFor( model => model.Email , new { title = ModelMetadata.FromLambdaExpression( model => model.Email , ViewData ).Description } )