title: Html.LabelFor not working?
body: <p>I have built a extention for the LabelFor that looks like this :</p>
  
  <pre><code>public static MvcHtmlString LabelFor&lt;TModel, TValue&gt;(this HtmlHelper&lt;TModel&gt; self, Expression&lt;Func&lt;TModel, TValue&gt;&gt; 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);
  }
  </code></pre>
  
  <p>This is used like this : </p>
  
  <pre><code>&lt;%: Html.LabelFor(model =&gt; model.ModelViewAd.TypeOfAd, false)%&gt;
  </code></pre>
  
  <p>The Property do have the Display attribute like this : </p>
  
  <pre><code>[Display(Name = "Type of ad", Description = "")]
  </code></pre>
  
  <p>With a breakpoint I can see that the metadata.DisplayName is set to null?</p>