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

  • Floortile83

    Floortile83

    16 Ocak 2010
  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008