Html.Метка для Указанного текста
-
19-09-2019 - |
Вопрос
У кого-нибудь есть какие-либо идеи о том, как указать текст при использовании 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".