J'ai construit une extention pour la LabelFor qui ressemble à ceci:Html.LabelFor ne fonctionne pas?
public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> self, Expression<Func<TModel, TValue>> expression, Boolean showToolTip, string sufix = "")
{
string description = string.Empty;
var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
if (showToolTip)
description = metadata.Description;
return LabelFor(metadata.DisplayName, description, self.ViewContext.ViewData.TemplateInfo.GetFullHtmlFieldId(ExpressionHelper.GetExpressionText(expression)), sufix: sufix);
}
C'est utilisé comme ceci:
<%: Html.LabelFor(model => model.ModelViewAd.TypeOfAd, false)%>
La propriété ont l'attribut d'affichage comme ceci:
[Display(Name = "Type of ad", Description = "")]
Avec un point d'arrêt, je peux voir que metadata.DisplayName est défini sur null?