50 votes

la création de zone de texte multiligne à l'aide de Html.Fonction d'assistance

Je suis en train de créer une zone de texte multiligne à l'aide de ASP.NET MVC avec le code suivant.

<%= Html.TextBox("Body", null, new { TextBoxMode = "MultiLine", Columns = "55px", Rows = "10px" })%>

Il affiche une seule ligne fixe de la taille de zone de texte.

sur l'autre main

<asp:TextBox runat="server" ID="Body" TextMode="MultiLine" Columns="55" Rows="10"></asp:TextBox> 

rend la vue de droite, mais dans le contrôleur de la méthode post avec formCollection le formulaire nommé

form["Body"]; 

renvoie une valeur null.

101voto

Darin Dimitrov Points 528142

Une zone de texte multiligne dans le html est <textarea>:

<%= Html.TextArea("Body", null, new { cols = "55", rows = "10" }) %>

ou:

<%= Html.TextArea("Body", null, 10, 55, null) %>

ou encore mieux:

<%= Html.TextAreaFor(x => x.Body, 10, 55, null) %>

Et encore une autre possibilité est de décorer votre modèle de vue de la propriété avec l' [DataType] d'attribut:

[DataType(DataType.MultilineText)]
public string Body { get; set; }

et à votre avis:

<%= Html.EditorFor(x => x.Body) %>

et de définir la largeur et la hauteur par CSS.

6voto

ahaliav fox Points 737

MVC4 vous devez utiliser:

@Html.TextAreaFor(x => x.Body, 10, 15, null)

0voto

Doozer1979 Points 1616

Je pense que le Html.EditorFor Est ce que vous cherchez. C'est seulement pour MVC2 et si. Cela vous aide?

Si vous utilisez DataAnnotations et décorer votre propriété avec l' [MultilineText] Attribut, MVC devrait échafaudage le code html pour vous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X