Généralement, en HTML/CSS, si vous souhaitez ajouter du texte de substitution dans une zone de texte, procédez comme suit:
<input type="text" class="input-class" placeholder="Please enter your email"/>
Mais puisque j'utilise le code existant fourni pour un panneau de connexion dans Visual Studio MVC 4:
/Views/Account/Login.cshtml
C'est le code C # qui rend actuellement les entrées:
@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" })
Comment ajouter du texte de substitution à ce code en C #? J'ai essayé ceci:
@Html.TextBoxFor(m => m.Email, placeholder ="Email" new { @class = "form-input" })
Et il soulignait en rouge "espace réservé": "Le nom" espace réservé "n'existe pas dans le contexte actuel".
Utilisez une surcharge de TextBoxFor()
avec un argument htmlAttributes
. Cet argument doit être un objet anonyme avec tout attributs que vous souhaitez affecter à l'entrée.
Par exemple, si vous souhaitez définir les attributs placeholder
et class
:
@Html.TextBoxFor( m => m.Email, new { placeholder = "Email", @class = "form-input" } )
Essayez ce qui suit
Ce code est testé et fonctionne
@Html.TextBox("CustomarName" ,null, new { @class = "form-control" , @placeholder = "Search With Customar Name" })
J'espère que cela vous aide
Il y a un paramètre qui est objecthtmlattributes. Vous pouvez y définir chaque attribut d'entrée html
Exemple:
@Html.TextBox("Model binding here" , new { @class="form-controll" , @placeholder="Enter email"})
Essaye ça:
@Html.TextBoxFor(m => m.Email, new { placeholder = "Email" })
Pour le champ de saisie
@Html.TextBoxFor( m => m.Email, new { placeholder = "Your email id" })
Pour textarea
@Html.TextAreaFor(m => m.Description, new { placeholder = "Please add description here" })