7

目標

成功すると、メソッドのplaceholder属性が適用され@Html.Textboxます。

問題

私のアプリケーションには次の構文があります。

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

しかし、TextBoxがレンダリングされると、 のvalue属性inputplaceholder = "What are you searching for?". つまり、placeholder属性は属性としてではなく、 として適用されinputますvalue

知識

この質問については、Google と Stack Overflow で既に検索しましたが、今のところ成功していません。

このリンクには、私が使用しているのと同じ構文のソリューションがありますが、2 番目のパラメーターを に渡すTextBox()と、値としてレンダリングされ、3 番目のパラメーター (この場合はnew { placeholder = "something" }) では何も起こりません。

4

3 に答える 3

29

そのメソッドのstring name, object valueオーバーロードを呼び出しているため、2 番目のパラメーターはではなく として取得されます。おそらく空の を指定して、メソッドの別のオーバーロードを使用する必要があります。valuehtmlAttributesstring name, object value, object htmlAttributesvalue

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

必要な 3 番目のパラメーターがあります。

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

3 番目のパラメータは、入力フィールドの HTML 出力に含めたい任意の属性です。

于 2013-08-14T13:23:41.520 に答える