Вопрос

У кого-нибудь есть какие-либо идеи о том, как указать текст при использовании Html.LabelFor(c=>c.MyField).Это просто MyField возможно, это неподходящее название для отображения на экране, вместо него вам может понадобиться "Супер фантастическое поле", но, похоже, никаких перегрузок нет.

Есть какие-нибудь идеи?

Это было полезно?

Решение

Вы используете System.ComponentModel.DataAnnotations.DisplayAttribute:

[Display(Name = "My Field")]
public string MyField { get; set; }

Установка ResourceType свойство вашего атрибута позволит вам использовать файл ресурсов.

(До использования .NET 4 System.ComponentModel.DisplayNameAttribute с оговоркой, что отображаемое имя должно быть константой времени компиляции.)

Другие советы

Простое решение просто добавьте следующее в представление:

@Html.LabelFor(c=>c.MyField, "My Field")

В MVC 3 появилась новая перегрузка, поэтому вы должны иметь возможность указать пользовательский тест для labelfor helper.

Я еще не скачал версию v2, поэтому не могу протестировать, но я полагаю, что она работает как DynamicData , и в этом случае вы бы сделали что-то подобное в своей модели:

[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}

Есть два способа
1 "прямые аннотации"
2 "Аннотации с ресурсом"
Прямые аннотации

[Display(Name = "My Field")]
public string MyField { get; set; }

Аннотации с ресурсом

[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }

Второй способ потребует добавления значения в файл ресурсов, вероятно, названного как Ресурс.resx.
Используйте то, что соответствует вашей цели.

Я еще не проверял CP1, но я прочитал его версию Скотта и, кажется, припоминаю, что код был сгенерирован T4.Я полагаю, вы всегда могли бы это изменить, но я бы подозревал, что они будут обеспечивать перегрузки в CP2.

Редактировать:Исходный код всегда доступен, и поэтому вы можете просто модифицировать метод, изменить генератор T4, и все будет готово.Также отправьте тикет или запрос (каким-либо образом) на этот мод, чтобы он был доработан в следующей версии.

Существует 5 перегрузок.Некоторые предлагают второй параметр "string LabelText", который вы бы установили в "Поле Super Fantastic".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top