PlaceHolder + @ Html.TextBox问题

Gui*_*nge 5 c# razor asp.net-mvc-4

目标

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

问题

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

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

但是,当TextBox渲染时,value属性inputplaceholder = "What are you searching for?".换句话说,该placeholder属性不被施加作为一个属性,但作为一个inputvalue.

知识

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

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

Tim*_* S. 23

你调用string name, object value过载那个方法,所以第二个参数被当作value,不是htmlAttributes.您应该使用该方法的不同重载,可能string name, object value, object htmlAttributes通过指定一个空value:

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