是否可以为模型中的字段指定标签?

时间:2011-05-24 12:41:56

标签: asp.net-mvc

我想指定一个"标签"对于模型中的某个字段,并在我的应用程序中的每个位置使用它。

<div class="editor-field">
<%: Html.TextBoxFor(model => model.surname) %>
<%: Html.ValidationMessageFor(model => model.surname) %>
</div>  

为此,我想添加类似的内容:

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

但是labelFor已经存在并且写出&#34;姓氏&#34;。但是我想指出它应该显示什么,比如&#34;你的姓氏&#34; 我确定这很容易= /

3 个答案:

答案 0 :(得分:9)

使用模型中属性的DisplayDisplayName属性。

[Display(Name = "Your surname")]
public string surname { get; set; }

[DisplayName("Your surname")]
public string surname { get; set; }

答案 1 :(得分:1)

是的,您可以通过将DisplayAttribute(来自System.ComponentModel.DataAnnotations命名空间)添加到属性来完成此操作:如下所示:

[Display(Name = "Your surname")]
public string surname { get; set; }

答案 2 :(得分:1)

由于我的项目是自动生成的,我不能(不应该)改变designer.cs文件 所以我创建了一个元数据类,如here

所述
// Override the designer file and set a display name for each attribute
[MetadataType(typeof(Person_Metadata))]
public partial class Person
{
}

public class Person_Metadata
{
    [DisplayName("Your surname")]
    public object surname { get; set; }
}