2012-01-09 1 views
9

Salve persone sono stato a questo per 5 giorni e non sono riuscito a trovare una soluzione sto cercando di ottenere questo per andare su multi linea @Html.TextBoxFor(model => model.Headline, new { style = "width: 400px; Height: 200px;"}) ma non ho avuto fortuna.TextBoxFor Mulitline

Quello che segue è quello che ho provato:

@Html.TextBoxFor.Multiline (does not work) 

ho messo multilinea sulla fine di nuovo e che non ha funzionato. Qual è il modo più semplice per farlo.

Thank You Sto usando MVC3 C#

+0

possibile duplicato: http://stackoverflow.com/questions/6740890/mvc3-razor-html-textboxfor-can-i-make-it-multi-line-like-textareafor – rene

+1

Vale a dire complesso, per quello che ho voglio Ecco perché ho affermato "Qual è il modo più semplice per farlo?" – user1137472

risposta

46

È possibile utilizzare un TextAreaFor aiutante:

@Html.TextAreaFor(
    model => model.Headline, 
    new { style = "width: 400px; height: 200px;" } 
) 

ma una soluzione molto migliore è quella di decorare la vostra proprietà modello Headline vista con l'attributo [DataType] specificando che si desidera a rendering come <textarea>:

public class MyViewModel 
{ 
    [DataType(DataType.MultilineText)] 
    public string Headline { get; set; } 

    ... 
} 

e quindi utilizzare il 0.123.aiutante:

<div class="headline"> 
    @Html.EditorFor(model => model.Headline) 
</div> 

e, infine, nel vostro file CSS specificare il suo stile:

div.headline { 
    width: 400px; 
    height: 200px; 
} 

Ora avete una corretta separazione degli interessi.

+2

La textarea sarà ciò che si desidera per un campo modulo a più righe. Il ridimensionamento è qualcosa che accade con diversi browser, sia Firefox che Chrome consentiranno che ciò accada dove non lo sarà. – Chris

+0

@Darin Grazie a Darin per aver spiegato questa piccola cosa, prima di questo non ho usato il '[Datatype (DataType.MultilineText)]' Annotazione per textarea Grazie. – user1006544

+2

So che questo è un post secolare, ma è il risultato di ricerca più alto per "razor multiline textboxfor" e volevo solo aggiungere che il selettore CSS è sbagliato e dovrebbe essere 'div.headline textarea' – Jocie