I want to use the placeholder attribute in the Html.EditorFor so I did just like in the first answer: Html5 Placeholders with .NET MVC 3 Razor EditorFor extension?
But in the final part, I don't have the EditorTemplates folder so I created it and when I tried to create the string.cshtml view I couldn't because the name "string" is reserved so I chose stringg.cshtml instead and it didn't work! Do I have to change the name elsewhere in my program? I did exactly like the answer...
Thank you!
When using
TextBoxFor
orTextAreaFor
rather thanEditorFor
, use only the inner key-value pair from @Medo's answer, since the method directly expects an htmlAttributes object:(I realize this is tangential to the original question, but having this here would have helped me when I landed on this page earlier, looking for an answer to how to add placeholder text to an
Html.TextAreaFor
!)This works for MVC 5.
In my case i was looking to set the placeholder from the model metadata, like this:
Upgrade to MVC 5.1 and you can use HTML attributes in EditorFor:
http://www.asp.net/mvc/overview/releases/mvc51-release-notes
Use some jquery, eg: $("#FirstName").attr("placeholder", "Do not type name - use Search button");