web-dev-qa-db-fra.com

Comment définir la largeur de la zone de texte lors de l'utilisation de Html.TextBoxFor

J'ai la ligne suivante à mon avis:

<div class="editor-field">
     <%= Html.TextBoxFor(m => m.Description)%>                    
</div>

Comment définir la largeur de la zone de texte?

35
AwkwardCoder

Une solution réutilisable consiste à définir la largeur de votre fichier css

.wide
{
     width: 300px;
}

puis définissez-le en utilisant le balisage ci-dessus

<%= Html.TextBoxFor(m => m.Description, new { @class= "wide" })%> 
45
Cheddar

Cela a fonctionné pour moi pour les one-offs, assez verbeux cependant:

<%: Html.TextBoxFor(m => m.Description, new { style="width:50px;" })%>
60
Josh

Vous pouvez l'attacher en tant qu'attribut. Essaye ça:

<div class="editor-field">
     <%= Html.TextBoxFor(m => m.Description, new { style = "width:20em;" })%>                     
</div>
15
Chris Van Opstal

Vous pouvez aussi faire comme ça

  @Html.TextBoxFor(model => model.Email, new Dictionary<string, object>() { { "readonly", "true" }, { "style", "width:250px;" } })
3
Developer

Pour moi, cela a fonctionné en ajoutant l '"entrée" dans le CSS pour @ Html.TextBoxFor:

CSS:

.campoTexto input {
    width: 50px;
}

Pour:

<div class="campoTexto">
@Html.TextBoxFor(model => model.nombre)
</div>
2

Il suffit d'utiliser les propriétés comme "TextBoxFor, TextArea", etc. au lieu de "EditorFor" ... Beaucoup de gens lors de l'utilisation d'échafaudages, ils doivent changer les champs par eux-mêmes ou les annotations de données dans le modèle comme [DataType(Multiline)]

2
Suhail Mumtaz Awan