web-dev-qa-db-de.com

Wie kann ich ein Platzhalterattribut mit Html.EditorFor verwenden?

Ich möchte das Platzhalterattribut in Html.EditorFor verwenden, also habe ich genau wie in der ersten Antwort: Html5 Platzhalter mit .NET MVC 3 Razor EditorFor-Erweiterung?

Aber im letzten Teil habe ich nicht den EditorTemplates-Ordner, also habe ich ihn erstellt. Als ich versuchte, die Ansicht "string.cshtml" zu erstellen, konnte ich nicht, da der Name "string" reserviert ist hat nicht funktioniert Muss ich den Namen an anderer Stelle in meinem Programm ändern? Mir hat die Antwort genau gefallen ... 

Vielen Dank!

33
caj

Aktualisieren Sie auf MVC 5.1, und Sie können HTML-Attribute in EditorFor verwenden:

@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

Wenn Sie TextBoxFor oder TextAreaFor anstelle von EditorFor verwenden, verwenden Sie nur das innere Schlüsselwertpaar aus der Antwort von @ Medo, da die Methode direkt ein htmlAttributes-Objekt erwartet:

@Html.TextBoxFor(m => m.variable, new { placeholder = "Your Placeholder Text" })

(Mir ist klar, dass dies eine tangentiale Antwort auf die ursprüngliche Frage darstellt, aber dies hier hätte mir geholfen, als ich früher auf dieser Seite gelandet war und nach einer Antwort gesucht hatte, wie Platzhalter in einen Html.TextAreaFor eingefügt werden können.)

3
Jon Schneider

Dies funktioniert für MVC 5.

In meinem Fall wollte ich den Platzhalter aus den Modell-Metadaten wie folgt setzen:

@Html.EditorFor(model => model.name, new { htmlAttributes = new { @class = "form-control", placeholder = Html.DisplayNameFor(x => x.name) } })
0
César León

Verwenden Sie eine Jquery, zB: $ ("# FirstName"). Attr ("Platzhalter", "Name nicht eingeben - Schaltfläche" Suchen "verwenden);

0
Anthony Denahy