J'ai créé un défaut MVC 3 projet (à l'aide de rasoir), afin de démontrer un problème.
Sur la page de connexion, il y a une ligne:
@Html.TextBoxFor(m => m.UserName)
si je change ce:
@Html.TextBoxFor(m => m.UserName, new { title = "ABC" })
Alors la c'est rendu que (avec un attribut title):
<input data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" title="ABC" type="text" value="" />
Cependant, si je fais un EditorFor:
@Html.EditorFor(m => m.UserName, new { title = "ABC" })
Puis il s'est rendu (sans attribut title) comme:
<input class="text-box single-line" data-val="true" data-val-required="The User name field is required." id="UserName" name="UserName" type="text" value="" />
Donc en résumé, l'attribut title est perdu lorsque j'utilise EditorFor.
Je sais que le deuxième paramètre pour TextBoxFor est appelé htmlAttributes, et pour EditorFor il est additionalViewData, mais j'ai vu des exemples où EditorFor peut rendre les attributs fournis avec ce paramètre.
Quelqu'un peut-il expliquer ce que je fais de mal, et comment je peux avoir un attribut title lors de l'utilisation de EditorFor?