使用Html.LabelFor来显示人类可读的标签?

时间:2010-04-28 14:50:01

标签: asp.net-mvc-2

我正在使用ASP.NET MVC 2,我很难理解如何使用Html.LabelFor helpet方法。

假设我有一个模特:

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

在我看来,如果我写:

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

我在页面上看到的是“FirstName”。但我不希望这样,因为它不是用户友好的。我希望它成为“名字”。

我如何实现这一目标?

感谢。

3 个答案:

答案 0 :(得分:24)

就像这样:

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

System.ComponentModel.DisplayNameAttribute

您还应该查看System.ComponentModel.DataAnnotations一些非常有用的验证属性,例如[Range(0, 100)][StringLength(100)][Required]等。

答案 1 :(得分:0)

内森泰勒的回答是最简单的。另一个答案是创建一个自定义DataAnnotationsModelMetadataProvider,它获取属性名称并使用一些字符串帮助器将其拆分。 Manning的ASP.NET MVC2 in Action(第2版)在第15章中有一个例子。

答案 2 :(得分:-1)

这应该有效

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