Я создал расширение для LabelFor, которое выглядит следующим образом:
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);
}
Это используется так:
<%: Html.LabelFor(model => model.ModelViewAd.TypeOfAd, false)%>
Свойство имеет атрибут Display следующим образом:
[Display(Name = "Type of ad", Description = "")]
С точкой останова я вижу, что metadata.DisplayName имеет значение null?