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!
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
@Html.EditorFor(model => model.members_ssn, new { htmlAttributes = new { @class = "form-control", placeholder = "Your Example Here" } })
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.)
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) } })
Verwenden Sie eine Jquery, zB: $ ("# FirstName"). Attr ("Platzhalter", "Name nicht eingeben - Schaltfläche" Suchen "verwenden);