MVC3 HTML Helper для большой области текста - PullRequest
5 голосов
/ 25 октября 2011

У меня есть помощник HTML:

@Html.EditorFor(model => model.Description)

Но это слишком мало для данных в этом свойстве моей Модели. Descriptino - это строка из 1000 символов. Мне нужно, чтобы пользователь мог ввести несколько строк текста и обернуть его в объект HTML. Как мне это сделать?

Ответы [ 4 ]

25 голосов
/ 25 октября 2011

Попробуйте

Html.TextAreaFor(model => model.Description, new {@cols="80" , @rows="4" })
6 голосов
/ 25 октября 2011

Использование:

@Html.TextAreaFor(model => model.Description)

// or a full option-list is:
@Html.TextAreaFor(model => model.Description, 
    rows, // the rows attribute of textarea for example: 4
    columns, // the cols attribute of textarea for example: 40
    new { }) // htmlAttributes to add to textarea for example: @class = "my-css-class"

Примечание: вы можете использовать null вместо new { } для htmlAttributes, но это не рекомендуется!Настоятельно рекомендуется использовать пробел new { }, который представляет new object -

1 голос
/ 26 октября 2011

Вы можете использовать EditorFor, но в этом случае лучше определить собственный шаблон EditorTemplate для рендеринга вашей TextArea, используя TextAreaFor или все, что ему нужно.

Основное различие между TextAreaFor иEditorFor в том, что, если я хорошо понял, как все работает, при использовании EditorFor учитываются шаблоны, а при использовании TextAreaFor вы выбираете HTML-ввод, используемый для рендеринга.

Шаблоны кажутся интереснымиЯ только начинаю копаться в написании своих собственных.

0 голосов
/ 25 октября 2011

Похоже, что вы после Html.TextAreaFor .

...