2011-05-24 84 views
4

我想为模型中的某个字段指定一个“标签”,并在应用程序中的每个位置使用它。是否可以为模型中的字段指定标签?

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

为了这一点,我想补充一点,如:

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

但labelFor已经存在,并写出了 “姓”。但是我想指定它应该显示的内容,比如“你的姓氏”。
我敢肯定,这很简单=/

回答

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; } 
} 
8

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

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

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

如果我添加这一点,说'surname'已经存在,我获得了29个错误。我还能在哪里添加它?我使用的是与NerdDinner相同的设置。 – Niklas 2011-05-24 14:25:57

+0

我发现它已经在'Test.designer.cs'中声明了。我应该在这里添加'[Display(Name =“Your surname”)]'?我以为你不是想编辑设计器文件? – Niklas 2011-05-24 14:34:01

+0

什么是您的设计师文件? – 2011-05-24 15:46:43

1

是的,你可以通过添加DisplayAttribute(从System.ComponentModel.DataAnnotations命名空间)的属性做到这一点:这样的事情:

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

我发现它已经在'Test.designer.cs'中声明了。我应该在这里添加'[Display(Name =“Your surname”)]'?我以为你不是想编辑设计器文件? – Niklas 2011-05-24 14:34:39

相关问题