créer une zone de texte multiligne en utilisant la fonction Html.Helper

J’essaie de créer un Textbox multiligne en utilisant ASP.NET MVC avec le code suivant.

 

Il affiche simplement une zone de texte de taille fixe à une seule ligne.

d’autre part

  

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

 form["Body"]; 

renvoie une valeur nulle.

Une zone de texte multiligne en html est :

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

ou:

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

ou même mieux:

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

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

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

et à votre avis:

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

et définissez la largeur et la hauteur via CSS.

MVC4 vous devez utiliser:

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

Cela permet de créer plusieurs lignes, de définir la largeur et la hauteur personnalisées et de placer le support de position. Pour validation utilisé SsortingngLength ou RegularExpression dans Model.cs

Syntaxe de la vue razor

 @Html.TextAreaFor(model => model.property, new { style = "width: 420px; height: 100px;", placeholder = "Placeholder here.." }) 

Je pense que le HTML.EditorFor est ce que vous cherchez. C’est seulement pour MVC2 et plus. Est ce que ça aide?

Si vous utilisez DataAnnotations et que vous décorez votre propriété avec l’atsortingbut [DataType(DataType.MultilineText)] , MVC doit étoffer le code HTML requirejs pour vous.

Dans la couche d’entité:

 [MaxLength(500)] public ssortingng Body { get; set; } 

Et en vue:

 @Html.TextAreaFor(model => model.Body, new { rows = 10, cols = 50 }) 

Solution VB.net:

@ Html.TextAreaFor (modèle de fonction (modèle). Corps, 3, 55, rien)