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

  • Air_Fooj

    Air_Fooj

    24 NİSAN 2009
  • ETrade Supply

    ETrade Suppl

    23 Temmuz 2011
  • Glyn Dewis

    Glyn Dewis

    25 AĞUSTOS 2007