如何使用EditorTemplate覆盖标签?

时间:2011-06-13 00:33:34

标签: asp.net asp.net-mvc-3 view razor

对于MVC3中的string属性,我在~/Shared/EditorTemplates/String.cshtml创建了一个局部视图,我在其中放置了以下内容:

@model System.String
<div class="Input">
    @Html.TextBox("", this.Model)
    @Html.ValidationMessage("")
</div>

查看结果,看起来不错。但标签仍在出现。正如您所看到的,它不包含在上面的局部视图中,因此它必须来自基本视图。

如何覆盖标签输出,以便{I} @Html.EditorForModel()时,我的string属性会有自定义标签?

2 个答案:

答案 0 :(得分:0)

使用System.ComponentModel.DisplayName属性覆盖成员名称。

例如:

public string MyProperty {get;set;}  //displays "MyProperty"

[DisplayName("My Property")] 
public string MyProperty {get;set;}  //displays "My Property"

答案 1 :(得分:0)

我最终创建了一个自定义Object.cshtml模板。