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

  • Murray Winiata

    Murray Winia

    2 ŞUBAT 2009
  • MVLV28

    MVLV28

    17 Mart 2008
  • xdadevelopers

    xdadeveloper

    25 Aralık 2009