использование HTML.EditorFor для создания textarea с определенным количеством строк и столбцов

Я знаю, что вы можете использовать атрибут DataType с помощником EditorFor html, чтобы указать, что конкретное свойство объекта модели должно отображаться как многострочное поле ввода.

Что делать, если я хочу указать количество строк и столбцов, которые должна иметь текстовая область?

модели :

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

в виде :

@Html.EditorFor(x => x.HTMLText)

желаемого результата :

<textarea id="HTMLText" rows="10" cols="40">value</textarea>

есть ли способ, чтобы генерировать такой код без использования @формат HTML.Textarea () помощник?

3 ответов


не уверен, как установить строки и cols, но вы можете изменить CSS этих текстовых областей с помощью .multi-line класса. Этот класс добавляется в textarea при использовании EditorFor, поэтому вы можете указать ширину и высоту в этом классе, чтобы получить нужные размеры.

.multi-line { height:5em; width:5em; }

вы можете указать размер атрибутов и эквивалент символов строки и col в Razor / c# ie:

@Html.TextAreaFor(model => model.Longtext, new { htmlAttributes = new { @class = "ctrl-col2 ctrl-col1", @row = "4", @col = "30" } })

похоже, это больше не требуется на MVC 5, когда у вас есть @HTML-код.EditorFor С данных.Поле MultilineText.