2014-05-04 14 views
27

Ich mag das Platzhalter-Attribut im Html.EditorFor verwenden, so dass ich genau wie in der ersten Antwort: Html5 Placeholders with .NET MVC 3 Razor EditorFor extension?Wie kann ich Platzhalterattribut mit Html.EditorFor verwenden?

Aber im letzten Teil, ich habe nicht den EditorTemplates Ordner, so habe ich es und wenn ich versucht, die string.cshtml Ansicht zu erstellen, konnte ich nicht, weil der Name "string" reserviert ist, so wählte ich stattdessen stringg.cshtml und es hat nicht funktioniert! Muss ich den Namen anderswo in meinem Programm ändern? Ich habe genau wie die Antwort ...

Vielen Dank!

Antwort

41

Upgrade auf MVC 5.1 und Sie können HTML-Attribute in EditorFor:

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

http://www.asp.net/mvc/overview/releases/mvc51-release-notes

+0

+1 - Vielen Dank für diesen Link. Ich würde sagen, dass dies die beste Option ist, wenn Sie ein Upgrade auf 5.1 durchführen möchten. Funktioniert super. – Termato

+1

Warum mussten Sie '@' vor dem Attribut 'placeholder' verwenden? – Yoda

+0

Ich bin mir nicht sicher warum, aber so ist es gemacht. Wenn Sie htmlAttributes aufzählen, müssen Sie @ verwenden, damit sie erkannt werden. (@class, @id ...) – Medo

3

Wenn TextBoxFor oder TextAreaFor mit eher als EditorFor, verwenden Sie nur die inneren Schlüssel-Wert-Paar von @ Medo Antwort , da die Methode direkt ein htmlAttributes Objekt erwartet:

(ich reali ze dies tangential auf die ursprüngliche Frage, aber haben diese hier würden mir geholfen haben, wenn ich auf dieser Seite früher gelandet, auf der Suche nach einer Antwort auf, wie Platzhalter-Text zu einem Html.TextAreaFor hinzufügen!)

6
@Html.EditorFor(model => model.members_ssn, new { htmlAttributes = new { @class = "form-control", placeholder = "Your Example Here" } }) 
+2

Stört es dich ein paar Minuten zu nehmen und zu erklären, was dein Code tut? –

0

einige jQuery , zB: $ ("# FirstName"). attr ("Platzhalter", "Geben Sie keinen Namen ein - verwenden Sie den Suchknopf");

Verwandte Themen