textboxfor net mvc example asp asp.net-mvc textbox

asp.net mvc - example - asp.net-mvc Cómo cambiar el ancho Html.TextBox



mvc get textbox value in controller (5)

¿Cómo cambia el ancho de un cuadro de texto en una vista de asp.net-mvc?

Quiero tener estos campos de lado a lado y el cuadro de texto de estado ancho mucho más corto

<p> <label for="city">City:</label> <%= Html.TextBox("city")%> <label for="state">State:</label> <%= Html.TextBox("state")%> </p>

EDITAR:

Ninguna de las siguientes respuestas parece funcionar para mí. Noté que en site.css veo esto:

fieldset p { margin: 2px 12px 10px 10px; } fieldset label { display: block; } fieldset label.inline { display: inline; } legend { font-size: 1.1em; font-weight: 600; padding: 2px 4px 8px 4px; } input[type="text"] { width: 200px; border: 1px solid #CCC; } input[type="password"] { width: 200px; border: 1px solid #CCC; }

¿Cómo puedo anular este comportamiento para un campo (cuadro de texto)?


Puede utilizar el ayudante TextBox para agregar atributos arbitrarios a su cuadro de texto. Por ejemplo:

<%= Html.TextBox( "state", null, new { size = "10" } ) %>

Va a hacer algo como:

<input type="text" name="state" size="10" />


Si usa la plantilla MVC predeterminada que se envía con VS. Especificar explícitamente una clase en los atributos html del cuadro de texto no parece anular Site.css, sin embargo, un estilo en línea funciona. Asi que:

{@style= "width: 400px;"}

funcionará, mientras que esto no lo hará:

{@class="myclass"}


Usaría la firma auxiliar que toma los atributos HTML y le asignaría una clase CSS. Luego usaría CSS para lograr la apariencia deseada.

<%= Html.TextBox( "state", null, new { @class = "small-input" } ) %>


css

.yourcssclassname{width:50px;}

html

<%= Html.TextBox("city", null, new{@class="yourcssclassname"})%>

eso debería hacerlo ... obviamente también podría enviar un atributo de estilo, pero las clases css son una mejor ruta para elegir.

string.Empty representa el valor predeterminado.

Edición: ver el post de tvanfosson

Respuesta fija para que resuelva los problemas mencionados en los comentarios.


<%= Html.TextBox("state", null, new { @style = "width: 300px;" })%>