将占位符(水印)添加到MVC4.5中的Html.EditorFor()

时间:2014-07-21 04:26:00

标签: asp.net-mvc attributes placeholder

我想将占位符添加到Html.EditorFor()。

我在Shared \ EditorTemplates文件夹中创建了一个模板文件,并将其命名为String.cshtml。然后把它放在那个文件中:

@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue, 
new { placeholder = ViewData.ModelMetadata.Watermark })

并在模型中添加属性Display(Prompt = "E-Mail")

当我将此属性与其他属性([DataType(DataType.EmailAddress)])一起使用时,不显示占位符,但删除此属性时,则可以。

1 个答案:

答案 0 :(得分:0)

当属性标记为[DataType(DataType.EmailAddress)]时,它实际上使用名为EmailAddress.cshtml的模板来呈现它。如果要提供此功能,您还必须自定义该模板...

在Shared \ EditorTemplates:

中创建EmailAddress.cshtml
@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue, 
new { placeholder = ViewData.ModelMetadata.Watermark, inputType = "email" })