2012-05-16 4 views
2

Je veux juste ajouter un espace réservé pour mon élément input généré.Ajouter des attributs HTML personnalisés aux contrôles générés

C'est ce généré

<input class="text-box single-line" data-val="true" data-val-required="The Username field is required." id="Username" name="Username" type="text" value=""> 

Ceci est le code qui génère une sortie HTML

@Html.EditorFor(model => model.Username) 

Bien sûr, je peux supprimer le code généré et écrire par moi-même, y compris juste les champs nécessaires , cependant peut-être il est possible de simplement passer un certain type de paramètre à EditorFor qui lui ajoutera l'attribut placeholder?

Répondre

4

Vous pouvez utiliser @ Html.TextBoxFor au lieu de @HtmlEditorFor puis écrire htmlAttributes comme ceci:

@Html.TextBoxFor(model => model.Username, new { placeholder = "Username..." }) 
+0

Oui, cela a fonctionné, merci. – sed

+0

Vous êtes les bienvenus :) – karaxuna

1

Essayez

@Html.EditorFor(m => model.Username, new { data_val_attribute = "value" }); 

La plupart des aides auront une surcharge qui accepte un objet anonyme comme le dernier paramètre pour spécifier les attributs dans le balisage généré.

+0

'@ Html.EditorFor (modèle => model.Username, nouveau {espace réservé = « Nom d'utilisateur ... "})' ne fonctionne pas. – sed

0

@ Html.EditorFor (model => model.Username, new {placeholder = "Username ..."}) devrait fonctionner, sauf si votre modèle n'est pas vide. Avez-vous vérifié si votre modèle est vide?

Questions connexes