Comment définissez-vous la largeur d’un TextBox HTML Helper dans ASP.NET MVC?

Certains exemples que j’ai trouvés qui ont apparemment fonctionné avec d’anciennes versions de mvc suggèrent qu’il y avait un paramètre de longueur de toutes sortes:

 

Mais cela peut avoir été par erreur en définissant la valeur.

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

La réponse originale ne fonctionne plus comme écrit:

 <%=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 second paramètre – j’ai le mien en blanc, ajustez en fonction de vos besoins):

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

Pour cela, vous devez utiliser HtmlAtsortingbutes , mais il y a un catch: HtmlAtsortingbutes et une classe css .

vous pouvez le définir comme ceci:

 new { Attrubute="Value", AtsortingbuteTwo = 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" }) 

Quelque chose comme ça devrait fonctionner:

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

Ou mieux:

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

Je recommande vivement de construire vos 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

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.

  

Mon vrai exemple pour MVC 3 est ici:

 <% using (Html.BeginForm()) { %> 

Start Date: <%: Html.TextBox("datepicker1", DateTime.Now.ToString("MM/dd/yyyy"), new { style = "width:80px;", maxlength = 10 })%> End Date: <%: Html.TextBox("datepicker2", DateTime.Now.ToString("MM/dd/yyyy"), new { style = "width:80px;", maxlength = 10 })%>

<% } %>

Donc, nous avons suivi

“datepicker1” – ID du contrôle

DateTime.Now.ToSsortingng (“MM / jj / aaaa” ) – valeur par défaut

style = “width: 80px; ” – largeur de la zone de texte

maxlength = 10 – nous ne pouvons saisir que 10 caractères

new {style = “width: 50px”, maxsize = 50};

devrait être

new {style = “width: 50px”, maxlength = 50};

Définir la zone de texte avec et maxlength dans mvc3.0

 @Html.TextBoxFor(model => model.SearchUrl, new { style = "width:650px;",maxlength = 250 })