使用EditorFor应用MVC Display装饰器和View之间的关系是什么?

时间:2013-04-12 11:07:04

标签: c# html5 asp.net-mvc-4

我正在研究在MVC4中创建编辑器模板的示例。

我在模型中添加了以下内容:

[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email"]
public string Email { get; set; }

将此添加到模型的视图中:

@Html.EditorFor(m => m.Email)

用这一行创建了一个名为EmailAddress.cshtml的EditorTemplate:

 @Html.TextBox("", null, new {@class="text-box single-line", type="email", placeholder="Enter an email address"})

在我将Display属性更改为此之前,我无法让占位符显示在Chrome中:

[Display(Name = "Email address")]

在我更改之前,有人可以向我描述为什么它不起作用吗?当我调用EditorFor时,该属性与生成的内容之间的关系是什么?这个更改是如何导致占位符正确显示的?

感谢。

1 个答案:

答案 0 :(得分:1)

在模型中,装饰者

 [Display(Name = "Some Name")]
 public string myproperty{get;set;}

用于显示视图中的标签,可通过

访问
@Html.Labelfor(m=>m.myproperty)

我认为它与占位符

无关