Html.EditorForでプレースホルダー属性を使用したいので、最初の答えと同じようにした: 。NET MVC 3 Razor EditorFor extension?のあるHtml5プレースホルダー?
しかし、最後の部分ではEditorTemplatesフォルダーがないので作成しました。string.cshtmlビューを作成しようとしてもできませんでした。名前「string」が予約されているため、代わりにstringg.cshtmlを選択し、うまくいきませんでした!プログラムの他の場所で名前を変更する必要がありますか?私はまさに答えが好きでした...
ありがとうございました!
MVC 5.1にアップグレードすると、EditorForでHTML属性を使用できます。
@Html.EditorFor(m => m.variable, new { htmlAttributes = new { placeholder = "Your Placeholder Text" } })
http://www.asp.net/mvc/overview/releases/mvc51-release-notes
@Html.EditorFor(model => model.members_ssn, new { htmlAttributes = new { @class = "form-control", placeholder = "Your Example Here" } })
TextBoxFor
ではなくTextAreaFor
またはEditorFor
を使用する場合は、メソッドが直接htmlAttributesオブジェクトを想定しているため、@ Medoの回答から内側のキーと値のペアのみを使用します。
@Html.TextBoxFor(m => m.variable, new { placeholder = "Your Placeholder Text" })
(これは元の質問とは正反対ですが、プレースホルダーテキストをHtml.TextAreaFor
!に追加する方法の答えを探して、このページに早くアクセスしたときにここにあると助かります。)
これはMVC 5で機能します。
私の場合、次のようにモデルのメタデータからプレースホルダーを設定しようとしていました。
@Html.EditorFor(model => model.name, new { htmlAttributes = new { @class = "form-control", placeholder = Html.DisplayNameFor(x => x.name) } })
次のようなjqueryを使用します。例:$( "#FirstName")。attr( "placeholder"、 "名前を入力しない-検索ボタンを使用");