Кто-нибудь знает, как указать текст при использовании Html.LabelFor(c=>c.MyField)
. Это просто MyField
может быть неподходящим названием для отображения на экране, вместо этого вы можете захотеть «Суперфантастическое поле», но, похоже, никаких перегрузок нет.
Есть идеи?
c#
asp.net-mvc
razor
Кеззер
источник
источник
using System.ComponentModel;
.Error 381 An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
. Так что это решение кажется плохим для l18n.System.ComponentModel.DataAnnotations.DisplayAttribute
которая позволяет использовать файл ресурсов. Если вы еще не пользуетесь версией 4 / 4.5, старуюSystem.ComponentModel.DisplayNameAttribute
можно расширить следующим образом: stackoverflow.com/a/2432520/33533Простое решение, просто добавьте в представление следующее:
@Html.LabelFor(c=>c.MyField, "My Field")
источник
В MVC 3 есть новая перегрузка, поэтому вы можете указать собственный тест для метки для помощника.
источник
Я еще не загрузил 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; }
Второй способ потребует добавления значения в файл ресурсов, вероятно, с именем Resource.resx .
Используйте то, что соответствует вашим целям.
источник
Я еще не проверял CP1, но я прочитал его релиз Скотта и, кажется, припоминаю, что код был сгенерирован T4. Я полагаю, вы всегда можете изменить это, но я подозреваю, что они обеспечат перегрузки в CP2.
Изменить: источник всегда доступен, и поэтому вы можете просто изменить метод, изменить генератор T4, и все будет хорошо. Также вставьте тикет или запрос (каким-то образом) для этого мода, чтобы он работал в следующей версии.
источник
Есть 5 перегрузок. Некоторые предлагают второй параметр "string labelText", который вы бы установили на "The Super Fantastic Field".
источник