7

目标

成功应用方法的placeholder属性@Html.Textbox

问题

我的应用程序有以下语法;

@Html.TextBox("term", new { placeholder = "What are you searching for?" })

但是,当TextBox被渲染时, 的value属性inputplaceholder = "What are you searching for?"。换句话说,placeholder属性不是作为属性应用,而是作为input's应用value

知识

我已经在 Google 和 Stack Overflow 上搜索过这个问题,但直到现在都没有成功。

这个链接有一个与我使用的语法相同的解决方案,但是当我将第二个参数传递给 时TextBox(),它被呈现为一个值,并且第三个参数(在我们的例子中,new { placeholder = "something" })没有任何反应。

4

3 回答 3

29

您正在调用该方法的string name, object value重载,因此第二个参数被视为,而不是。您应该使用不同的方法重载,可能通过指定一个空:valuehtmlAttributesstring name, object value, object htmlAttributesvalue

@Html.TextBox("term", "", new { placeholder = "What are you searching for?" })
于 2013-08-14T13:25:26.853 回答
4

试试这个空的@Html.TextBox

@Html.TextBox("CustomarName" ,null, new { @class = "form-control" , @placeholder = "Search With Customar Name" })
于 2018-01-28T11:06:14.523 回答
1

您需要第三个参数:

@Html.TextBox("term", Model.SomeProperty, new { placeholder = "What are you searching for?" })

第三个参数是您希望包含在输入字段的 HTML 输出中的任何属性。

于 2013-08-14T13:23:41.520 回答