web-dev-qa-db-fra.com

Comment utiliser l'attribut d'espace réservé avec Html.EditorFor?

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!

33
caj

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

49
Medo
 @Html.EditorFor(model => model.members_ssn, new { htmlAttributes = new { @class = "form-control", placeholder = "Your Example Here" } })
9
Jay

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!

3
Jon Schneider

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) } })
0
César León

Utilisez des requêtes, par exemple: $ ("# # Prénom"). Attr ("espace réservé", "Ne tapez pas le nom - utilisez le bouton de recherche");

0
Anthony Denahy