SORU
7 EKİM 2010, PERŞEMBE


ASP.NET MVC LabelFor Yardımcı kullanmadan görünen isim Özniteliği olsun

Bu model bir öğenin adı özniteliği almak için en iyi yolu nedir? İnsanlar her şey için LabelFor yardımcı kullanarak bir sürü görmek, ama bir etiket varsa veri listesi için uygun değil. Kolay bir yolu varsa ben sadece dışarı yazdırmak istiyorsanız Adı Özniteliği, bir paragraf demek var mı?

CEVAP
7 EKİM 2010, PERŞEMBE


<p>
    <%= Html.Encode(
        ModelMetadata.FromLambdaExpression<YourViewModel, string>(
            x => x.SomeProperty, ViewData).DisplayName
    ) %>
<p>

Her zaman bir yardımcı yazmak için iyi bir fikirdir spagetti kod önlemek için belli ki:

public static class HtmlExtensions
{
    public static MvcHtmlString GetDisplayName<TModel, TProperty>(
        this HtmlHelper<TModel> htmlHelper, 
        Expression<Func<TModel, TProperty>> expression
    )
    {
        var metaData = ModelMetadata.FromLambdaExpression<TModel, TProperty>(expression, htmlHelper.ViewData);
        string value = metaData.DisplayName ?? (metaData.PropertyName ?? ExpressionHelper.GetExpressionText(expression));
        return MvcHtmlString.Create(value);
    }
}

Ve sonra:

<p>
    <%: Html.GetDisplayName(x => x.SomeProperty) %>
</p>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GoogleTechTalks

    GoogleTechTa

    15 AĞUSTOS 2007
  • RyanXLT

    RyanXLT

    22 Ocak 2011
  • Slave Boy Films - Fandom from a Galaxy Far Far Away

    Slave Boy Fi

    12 HAZİRAN 2009