53 votes

ASP.NET MVC : Html.EditorFor et zones de texte multilignes

C'est mon code :

     <div class="editor-label">
        @Html.LabelFor(model => model.Comments[0].Comment)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Comments[0].Comment)
        @Html.ValidationMessageFor(model => model.Comments[0].Comment)
    </div>

Voici ce qu'il génère :

     <div class="editor-label">
        <label for="Comments_0__Comment">Comment</label>
    </div>
    <div class="editor-field">
        <input class="text-box single-line" data-val="true" data-val-required="The Comment field is required." id="Comments_0__Comment" name="Comments[0].Comment" type="text" value="" />
        <span class="field-validation-valid" data-valmsg-for="Comments[0].Comment" data-valmsg-replace="true"></span>
    </div>

Comment puis-je lui indiquer que le champ doit être une zone de texte de cinq lignes au lieu d'une seule zone de texte d'une seule ligne ?

127voto

NetDev Points 777

Utilisez le type de données 'MultilineText' :

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

Voir ASP.NET MVC3 - zone de texte avec @Html.EditorFor

42voto

fmarreco Points 161

à votre avis, au lieu de :

 @Html.EditorFor(model => model.Comments[0].Comment)

il suffit d'utiliser :

 @Html.TextAreaFor(model => model.Comments[0].Comment, 5, 1, null)

11voto

SomeGuy Points 111

Autrement

 @Html.TextAreaFor(model => model.Comments[0].Comment)

Et dans ton css fais ça

 textarea
{
    font-family: inherit;
    width: 650px;
    height: 65px;
}

Cette offre DataType permet des retours chariot dans les données, tout le monde ne les aime pas.

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