47 votes

Comment définir la largeur d'une zone de texte HTML Helper TextBox dans ASP.NET MVC?

Certains exemples, j’ai constaté qu’apparemment fonctionné avec des versions plus anciennes de mvc, suggèrent qu’il existait un paramètre de longueur:

 <%=Html.TextBox("test", 50)%>
 

Mais cela a peut-être été défini par erreur.

Comment cela fonctionne-t-il dans la version actuelle? Passer dans le style ne semble pas avoir d'effet.

65voto

Bob Palmer Points 3690

La réponse originale ne fonctionne plus comme suit:

 <%=Html.TextBox("test", new { style="width:50px" })%> 
 

vous obtiendrez une zone de texte avec "{style =" width: 50px "}" comme contenu textuel.

Pour ajuster cela pour la version actuelle de MVC 1.0, utilisez le script suivant (notez l'ajout du deuxième paramètre - le mien commence comme vide, ajustez en conséquence en fonction de vos besoins):

 <%=Html.TextBox("test", "", new { style="width:50px" })%> 
 

42voto

Cshift3iLike Points 2444

Pour cela, vous devez utiliser HtmlAttributes , mais il existe un piège : HtmlAttributes et la classe css .

vous pouvez le définir comme ceci:

 new { Attrubute="Value", AttributeTwo = IntegerValue, @class="className" };
 

et voici un exemple plus réaliste:

 new { style="width:50px" };
new { style="width:50px", maxsize = 50 };
new {size=30, @class="required"}
 

et enfin dans:

MVC 1

 <%= Html.TextBox("test", new { style="width:50px" }) %> 
 

MVC 2

 <%= Html.TextBox("test", null, new { style="width:50px" }) %> 
 

MVC 3

 @Html.TextBox("test", null, new { style="width:50px" })
 

6voto

Tim Scott Points 7043

Quelque chose comme ça devrait marcher:

 <%=Html.TextBox("test", new { style="width:50px" })%>
 

Ou mieux:

 <%=Html.TextBox("test")%>

<style type="text/css">
    input[type="text"] { width:50px; }     
</style>
 

2voto

deleted Points 9

Je recommande vivement de construire votre HtmlHelpers. Je pense que le code apsx sera plus lisible, fiable et durable.

Suivez le lien; http://msdn.microsoft.com/en-us/library/system.web.mvc.htmlhelper.aspx

1voto

Drejc Points 5424

N'utilisez pas le paramètre length car il ne fonctionnera pas avec tous les navigateurs. Le meilleur moyen est de définir un style sur la balise d’entrée.

 <input style="width:100px" />
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X