ASPNET MVC 2 Label для перегрузки префикса - PullRequest
1 голос
/ 17 мая 2010

Я имею в виду этот вопрос .

Предлагаемый ответ работает очень хорошо, но, похоже, он не учитывает атрибуты аннотации данных для DisplayNameAttribute при использовании нового помощника labelfor.

Это код, который я использую:

public static MvcHtmlString LabelFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, string prefix, Expression<Func<TModel, TProperty>> expression, IDictionary<string, object> htmlAttributes)
    {
        return htmlHelper.Label(String.Format("{0}.{1}", prefix, expression));
    }

Есть ли способ обойти это, или я просто должен использовать обычный помощник по меткам?

1 Ответ

1 голос
/ 17 мая 2010

Я думаю, что только расширения DisplayFor и EditorFor (шаблоны) принимают во внимание атрибуты DataAnnotation. Если ни один из них не будет работать для вас из коробки, вы можете создать свои собственные шаблоны. Вместо того чтобы подробно описывать, как здесь, я просто отсылаю вас к отличным постам в блоге Брэда Уилсона о шаблонах в MVC2 . Альтернатива, как вы уже догадались, заключается в простом использовании помощников без строгой типизации.

...