web-dev-qa-db-ja.com

C#/ MVC 4でHtml.TextBoxFor内にプレースホルダーテキストを入力する方法

通常、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" })

enter image description here

C#でこのコードにプレースホルダーテキストを追加するにはどうすればよいですか?私はこれを試しました:

@Html.TextBoxFor(m => m.Email, placeholder ="Email" new { @class = "form-input" })

また、「プレースホルダ」という名前に「現在のコンテキストには存在しない」という赤い下線が付いています。

13
HappyHands31

htmlAttributes引数とともにTextBoxFor()のオーバーロードを使用します。この引数は、入力に割り当てるall属性を持つ匿名オブジェクトである必要があります。

たとえば、placeholderおよびclass属性を設定する場合:

@Html.TextBoxFor( m => m.Email, new { placeholder = "Email", @class = "form-input" } )
32
Tim Medora

次のことを試してください

このコードはテストされており、機能しています

@Html.TextBox("CustomarName" ,null, new { @class = "form-control" , @placeholder = "Search With Customar Name" })

それがあなたに役立つことを願っています

4
Mizanur Rahman

これを試して:

@Html.TextBoxFor(m => m.Email, new { placeholder = "Email" })
2
PHP Developer

Objecthtmlattributesというパラメーターがあり、すべてのhtml入力属性を設定できます
例:

 @Html.TextBox("Model binding here" , new { @class="form-controll" , @placeholder="Enter email"})
1
Saurabh

入力フィールド用

@Html.TextBoxFor( m => m.Email, new { placeholder = "Your email id" })

テキストエリアの場合

@Html.TextAreaFor(m => m.Description, new { placeholder = "Please add description here" })
1
Vinod Kumar