通常、HTML/CSSで、プレースホルダーテキストをテキストボックスに追加する場合は、次のようにします。
<input type="text" class="input-class" placeholder="Please enter your email"/>
ただし、Visual Studio MVC 4のログインパネルに提供されている既存のコードを使用しているため、
/Views/Account/Login.cshtml
これは、現在入力をレンダリングしているC#コードです。
@Html.TextBoxFor(m => m.Email, new { @class = "form-input" })
@Html.ValidationMessageFor(m => m.Email, "", new { @class = "text-danger" })
@Html.PasswordFor(m => m.Password, new { @class = "form-input" })
@Html.ValidationMessageFor(m => m.Password, "", new { @class = "text-danger" })
C#でこのコードにプレースホルダーテキストを追加するにはどうすればよいですか?私はこれを試しました:
@Html.TextBoxFor(m => m.Email, placeholder ="Email" new { @class = "form-input" })
また、「プレースホルダ」という名前に「現在のコンテキストには存在しない」という赤い下線が付いています。
htmlAttributes
引数とともにTextBoxFor()
のオーバーロードを使用します。この引数は、入力に割り当てるall属性を持つ匿名オブジェクトである必要があります。
たとえば、placeholder
およびclass
属性を設定する場合:
@Html.TextBoxFor( m => m.Email, new { placeholder = "Email", @class = "form-input" } )
次のことを試してください
このコードはテストされており、機能しています
@Html.TextBox("CustomarName" ,null, new { @class = "form-control" , @placeholder = "Search With Customar Name" })
それがあなたに役立つことを願っています
これを試して:
@Html.TextBoxFor(m => m.Email, new { placeholder = "Email" })
Objecthtmlattributesというパラメーターがあり、すべてのhtml入力属性を設定できます
例:
@Html.TextBox("Model binding here" , new { @class="form-controll" , @placeholder="Enter email"})
入力フィールド用
@Html.TextBoxFor( m => m.Email, new { placeholder = "Your email id" })
テキストエリアの場合
@Html.TextAreaFor(m => m.Description, new { placeholder = "Please add description here" })