Je veux utiliser l'attribut de marque de réservation dans Html.EditorFor alors j'ai tout simplement aimé la première réponse: Html5 Placeholders avec l'extension .NET MVC 3 Razor EditorFor?
Mais dans la dernière partie, je n’ai pas le dossier EditorTemplates. Je l’ai donc créé. Lorsque j’ai essayé de créer la vue string.cshtml, j’ai été incapable de le prendre car le nom "string" était réservé. n'a pas fonctionné! Dois-je changer le nom ailleurs dans mon programme? J'ai exactement aimé la réponse ...
Je vous remercie!
Mettez à niveau vers MVC 5.1 et vous pouvez utiliser les attributs HTML dans EditorFor:
@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" } })
Lorsque vous utilisez TextBoxFor
ou TextAreaFor
plutôt que EditorFor
, utilisez uniquement la paire clé-valeur interne de la réponse de @ Medo, car la méthode attend directement un objet htmlAttributes:
@Html.TextBoxFor(m => m.variable, new { placeholder = "Your Placeholder Text" })
(Je me rends compte que cela est tangent à la question initiale, mais cela m'aurait aidé lorsque j'aurais atterri plus tôt sur cette page, à la recherche d'une réponse sur la façon d'ajouter du texte de substitution à un Html.TextAreaFor
!
Cela fonctionne pour MVC 5.
Dans mon cas, je cherchais à définir un espace réservé à partir des métadonnées du modèle, comme suit:
@Html.EditorFor(model => model.name, new { htmlAttributes = new { @class = "form-control", placeholder = Html.DisplayNameFor(x => x.name) } })
Utilisez des requêtes, par exemple: $ ("# # Prénom"). Attr ("espace réservé", "Ne tapez pas le nom - utilisez le bouton de recherche");