textboxfor textareafor style net mvc example asp asp.net-mvc

textareafor - ¿Cómo se establece el ancho de un HTML Helper TextBox en ASP.NET MVC?



asp net mvc html label (8)

Algunos ejemplos que encontré que aparentemente funcionaban con versiones anteriores de mvc sugieren que había un tipo de parámetro de longitud:

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

Pero eso pudo haber sido erróneamente estableciendo el valor.

¿Cómo funciona esto en la versión actual? Pasar en el estilo no parece tener ningún efecto.


Mi muestra real para MVC 3 está aquí:

<% using (Html.BeginForm()) { %> <p> 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 })%> <input type="submit" name="btnSubmit" value="Search" /> </p> <% } %>

Entonces, tenemos siguiente

"datepicker1" - ID del control

DateTime.Now.ToString ("MM / dd / aaaa" ): valor predeterminado

style = "width: 80px; " - ancho del cuadro de texto

maxlength = 10 - solo podemos ingresar 10 caracteres


Algo como esto debería funcionar:

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

O mejor:

<%=Html.TextBox("test")%> <style type="text/css"> input[type="text"] { width:50px; } </style>


No use el parámetro de longitud ya que no funcionará con todos los navegadores. La mejor manera es establecer un estilo en la etiqueta de entrada.

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


nuevo {style = "width: 50px", maxsize = 50};

debiera ser

nuevo {style = "width: 50px", maxlength = 50};



Para esto debes usar HtmlAttributes , pero hay una trampa : HtmlAttributes y css class .

puedes definirlo así:

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

y aquí hay un ejemplo más realista:

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

y finalmente en:

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" })


Establecer textbox con y maxlength en mvc3.0

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


La respuesta original ya no funciona como está escrita:

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

obtendrá un cuadro de texto con "{style =" width: 50px "}" como contenido de texto.

Para ajustar esto para la versión actual de MVC 1.0, use la siguiente secuencia de comandos (tenga en cuenta la adición del segundo parámetro - Tengo la mía comenzando como en blanco, ajústela según sus necesidades):

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