2

我只想为我生成的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属性?

4

3 回答 3

4

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

@Html.TextBoxFor(model => model.Username, new { placeholder = "Username..." })
于 2012-05-17T06:37:01.723 回答
1

尝试

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

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

于 2012-05-16T14:11:59.710 回答
0

@Html.EditorFor(model => model.Username, new { placeholder = "Username..." }) 应该可以工作,除非您的模型不为空。您是否检查过您的模型是否为空?

于 2012-05-17T06:30:13.620 回答