asp.net-mvc Comment changer la largeur Html.Zone de texte

comment changer la largeur d'une boîte de texte dans un asp.net-mvc View

je veux avoir ces champs côte à côte et la boîte de texte d'état beaucoup plus courte largeur

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

EDIT:

aucune des réponses ci-dessous ne semble fonctionner pour moi. J'ai remarqué que dans le site.css je vois ceci:

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;
}

comment modifier ce comportement pour un champ (textbox)

19
demandé sur leora 2009-06-30 17:36:41

5 réponses

j'utiliserais la signature helper qui prend les attributs HTML et lui assignerait une classe CSS. Vous utiliserez alors CSS pour obtenir l'apparence et la sensation désirées.

 <%= Html.TextBox( "state", null, new { @class = "small-input" } ) %>
32
répondu tvanfosson 2009-06-30 13:38:42
<%= Html.TextBox("state", null, new { @style = "width: 300px;" })%>
21
répondu Jeff Widmer 2009-06-30 13:43:11

css

.yourcssclassname{width:50px;}

html

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

cela devrait le faire... vous pouvez aussi évidemment envoyer un attribut de style, mais les classes css sont un meilleur chemin à choisir.

chaîne de caractères.Vide représente la valeur par défaut.

Edit: voir tvanfosson post

correction de la réponse afin de résoudre les problèmes mentionnés dans les commentaires.

1
répondu Peter 2009-07-03 12:36:28

vous pouvez utiliser le helper TextBox pour ajouter des attibutes arbitraires à votre textbox. Par exemple:


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

Va rendre quelque chose comme:


<input type="text" name="state" size="10" />
0
répondu Matthew Groves 2009-06-30 13:42:48

si vous utilisez le modèle MVC par défaut qui est fourni avec VS. Spécifier explicitement une classe dans les attributs html de la textbox ne semble pas outrepasser le Site.css, cependant, un style en ligne ne fonctionne pas. Donc:

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

fonctionne, alors que ceci ne fonctionnera pas:

{@class="myclass"}
0
répondu bcleary 2011-09-27 19:08:26