Как указать столбцы и строки многострочного редактора-Для в ASP.MVC?
в ASP.MVC 3, Как указать столбцы и строки для многострочного EditorFor (текста)? Я использую [UIHint("MultilineText")], но не могу найти никакой документации о том, как добавить атрибуты для текстовой области.
нужный HTML:
<textarea cols="40" rows="10"></textarea>
соответствующая часть моей модели MVC 3:
[UIHint("MultilineText")]
public string Description { get; set; }
соответствующая часть моей бритвы cshtml:
<div class="editor-field">
@Html.EditorFor(model => model.Description)
</div>
что я получаю в поле зрения Источник:
<div class="editor-field">
<textarea class="text-box multi-line" id="Description" name="Description"></textarea>
</div>
Как установить строки и столбцы?
6 ответов:
Использовать TextAreaFor
@Html.TextAreaFor(model => model.Description, new { @class = "whatever-class", @cols = 80, @rows = 10 })или использовать стиль для
multi-lineкласса.Вы можете также написать EditorTemplate для этого.
In ASP.NET MVC 5 Вы можете использовать . Он будет отображать TextArea тег.
public class MyModel { [DataType(DataType.MultilineText)] public string MyField { get; set; } }затем в представлении, если вам нужно указать строки, вы можете сделать это следующим образом:
@Html.EditorFor(model => model.MyField, new { htmlAttributes = new { rows = 10 } })или просто используйте TextAreaFor с правой перегрузкой:
@Html.TextAreaFor(model => model.MyField, 10, 20, null)
один из вариантов, кажется, использует CSS для стиля textarea
.multi-line { height:5em; width:5em; }посмотреть эта запись на SO или это одно.
принятый ответ Amurra, похоже, подразумевает, что этот класс добавляется автоматически при использовании EditorFor, но вам придется это проверить.
EDIT: подтверждено, это так. Так что да, если вы хотите использовать EditorFor, используя этот стиль CSS делает то, что вы ищете.
<textarea class="text-box multi-line" id="StoreSearchCriteria_Location" name="StoreSearchCriteria.Location">
в mvc 5
@Html.EditorFor(x => x.Address, new {htmlAttributes = new {@class = "form-control", @placeholder = "Complete Address", @cols = 10, @rows = 10 } })
In .net VB - вы можете добиться контроля над столбцами и строками со следующим в вашем файле razor:
@Html.EditorFor(Function(model) model.generalNotes, New With {.htmlAttributes = New With {.class = "someClassIfYouWant", .rows = 5,.cols=6}})

Comments