comment changer la largeur d'une zone de texte dans une vue asp.net-mvc
je veux avoir ces champs côte à côte et la zone de texte d'état de largeur beaucoup plus courte
<p>
<label for="city">City:</label>
<%= Html.TextBox("city")%>
<label for="state">State:</label>
<%= Html.TextBox("state")%>
</p>
MODIFIER:
aucune des réponses ci-dessous ne semble fonctionner pour moi. J'ai remarqué que dans 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 remplacer ce comportement pour un champ (zone de texte)
J'utiliserais la signature d'aide qui prend les attributs HTML et lui attribuerais une classe CSS. Vous utiliseriez ensuite CSS pour obtenir l'apparence souhaitée.
<%= Html.TextBox( "state", null, new { @class = "small-input" } ) %>
<%= Html.TextBox("state", null, new { @style = "width: 300px;" })%>
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.
string.Empty représente la valeur par défaut.
Edit: voir le post de tvanfosson
réponse fixe afin de résoudre les problèmes mentionnés dans les commentaires.
Vous pouvez utiliser l'assistant TextBox pour ajouter des attributs arbitraires à votre zone de texte. Par exemple:
<%= Html.TextBox( "state", null, new { size = "10" } ) %>
Rendra quelque chose comme:
<input type="text" name="state" size="10" />
Si vous utilisez le modèle MVC par défaut fourni avec VS. La spécification explicite d'une classe dans les attributs html de la zone de texte ne semble pas remplacer Site.css, cependant, un style en ligne fonctionne. Alors:
{@style= "width: 400px;"}
fonctionnera, alors que cela ne fonctionnera pas:
{@class="myclass"}