2010-11-12 44 views
3

J'utilise le Html.EditorForModel() dans une vue pour générer des champs pour le formulaire d'édition. J'ai aussi une autre classe partielle où je spécifie des attributs d'annotation de données pour certains champs (comme DisplayName, Range, etc.). Lorsque j'exécute l'application, j'ai des entrées HTML générées pour chaque champ. Comment puis-je spécifier la largeur de ces entrées générées?MVC 2 EditorForModel spécifie la largeur de l'entrée générée

Quelque chose comme ceci:

<input id="nameTextBox" style="width:220px" name="theName" /> 

Répondre

2

@ La solution de Gerrie fonctionne, mais elle s'applique à toutes les entrées de la page. Si vous avez d'autres entrées sur la page que vous ne voulez pas le style de cette façon, vous pouvez faire quelque chose comme ceci:

<div id="model-editor"> 
    <%: Html.EditorForModel() %> 
</div> 

Et puis utilisez CSS de cette forme:

#model-editor input { width:220px; } 

EDIT

Si vous souhaitez définir des règles CSS pour des champs individuels, vous pouvez également le faire. Inspectez le code HTML généré et trouver id, puis l'entrée de ne:

input[id='YourInputId'] { width:400px; } 
+0

génial! Merci Drew! –

1

utilisation CSS:

input 
{ 
    width: 220px; 
} 

De cette façon, vous n'avez pas à se soucier de l'insertion de ces attributs de style dans les contrôles générés.

+0

Thx Gerrie, je peux le faire dans le Site.css, mais est-il un moyen de spécifier la largeur diffrent pour les champs diffrent? –

+0

@Ciprian, j'ai édité ma réponse pour vous montrer un moyen de cibler les entrées individuelles. C'est à vous de décider si c'est trop hacky pour vous :) –