How can I use placeholder attribute with Html.EditorFor?

后端 未结 5 1270
迷失自我
迷失自我 2021-02-06 22:14

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 i

相关标签:
5条回答
  • 2021-02-06 22:28

    Upgrade to MVC 5.1 and you can use HTML attributes 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 讨论(0)
  • 2021-02-06 22:28

    When using TextBoxFor or TextAreaFor rather than EditorFor, use only the inner key-value pair from @Medo's answer, since the method directly expects an htmlAttributes object:

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

    (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!)

    0 讨论(0)
  • 2021-02-06 22:33

    Use some jquery, eg: $("#FirstName").attr("placeholder", "Do not type name - use Search button");

    0 讨论(0)
  • 2021-02-06 22:35
     @Html.EditorFor(model => model.members_ssn, new { htmlAttributes = new { @class = "form-control", placeholder = "Your Example Here" } })
    
    0 讨论(0)
  • 2021-02-06 22:38

    This works for MVC 5.

    In my case i was looking to set the placeholder from the model metadata, like this:

    @Html.EditorFor(model => model.name, new { htmlAttributes = new { @class = "form-control", placeholder = Html.DisplayNameFor(x => x.name) } })
    
    0 讨论(0)
提交回复
热议问题