Использование Html.LabelFor для отображения удобочитаемой метки? - PullRequest
7 голосов
/ 28 апреля 2010

Я использую ASP.NET MVC 2 и пытаюсь понять, как я могу использовать метод справки Html.LabelFor.

Предположим, у меня есть модель:

public class Person
{
  public string FirstName { get; set; }
}

На мой взгляд, если я напишу:

<%: Html.LabelFor(model => model.FirstName) %>

То, что я получаю на странице, это "FirstName". Но я не хочу этого, потому что это не удобно для пользователя. Я хочу, чтобы это было «Имя».

Как мне этого добиться?

Спасибо.

Ответы [ 3 ]

24 голосов
/ 28 апреля 2010

Так же, как это:

public class Person
{
  [DisplayName("First Name")]
  public string FirstName { get; set; }
}

System.ComponentModel.DisplayNameAttribute

Вы также должны проверить System.ComponentModel.DataAnnotations для некоторых невероятно полезных атрибутов проверки, таких как [Range(0, 100)], [StringLength(100)], [Required] и других.

0 голосов
/ 25 февраля 2011

ответ Натана Тейлора является самым простым. Другим ответом может быть создание пользовательского DataAnnotationsModelMetadataProvider, который получает имя свойства и разделяет его, используя какой-либо помощник по строкам. Мэннинга ASP.NET MVC2 в действии (второе издание) имеет пример в главе 15.

0 голосов
/ 28 апреля 2010

Это должно работать

<%= Html.LabelFor(model => model.FirstName) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...