将自定义HTML属性添加到生成的控件

时间:2012-05-16 13:54:51

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

我只想为生成的input元素添加占位符。

这就是生成的内容

<input class="text-box single-line" data-val="true" data-val-required="The Username field is required." id="Username" name="Username" type="text" value="">

这是生成HTML输出的代码

@Html.EditorFor(model => model.Username)

当然我可以删除生成的代码并自己编写,只包括必要的字段,但是也许可以将某种参数传递给EditorFor,这将添加placeholder属性对吗?

3 个答案:

答案 0 :(得分:4)

您可以使用@ Html.TextBoxFor代替@HtmlEditorFor,然后像这样编写htmlAttributes:

@Html.TextBoxFor(model => model.Username, new { placeholder = "Username..." })

答案 1 :(得分:1)

尝试

@Html.EditorFor(m => model.Username, new { data_val_attribute = "value" });

大多数帮助程序都会有一个重载,它接受一个匿名对象作为在生成的标记中指定属性的最后一个参数。

答案 2 :(得分:0)

@ Html.EditorFor(model =&gt; model.Username,new {placeholder =“Username ...”})应该有效,除非您的模型不为空。你检查过你的模型是否为空?

相关问题