Подтвердить что ты не робот

Создание многострочного текстового поля с использованием функции Html.Helper

Я пытаюсь создать многострочный текстовый файл с использованием ASP.NET MVC со следующим кодом.

<%= Html.TextBox("Body", null, new { TextBoxMode = "MultiLine", Columns = "55px", Rows = "10px" })%>

В нем отображается только однострочный текстовый блок с фиксированным размером.

с другой стороны

<asp:TextBox runat="server" ID="Body" TextMode="MultiLine" Columns="55" Rows="10"></asp:TextBox> 

отображает правильное представление, но в методе post post с именем formCollection с именем form

form["Body"]; 

возвращает нулевое значение.

4b9b3361

Ответ 1

Многострочный текстовый поле в html <textarea>:

<%= Html.TextArea("Body", null, new { cols = "55", rows = "10" }) %>

или

<%= Html.TextArea("Body", null, 10, 55, null) %>

или даже лучше:

<%= Html.TextAreaFor(x => x.Body, 10, 55, null) %>

И еще одна возможность заключается в том, чтобы украсить ваше свойство модели просмотра атрибутом [DataType]:

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

и на ваш взгляд:

<%= Html.EditorFor(x => x.Body) %>

и установите ширину и высоту с помощью CSS.

Ответ 2

MVC4 вы должны использовать:

@Html.TextAreaFor(x => x.Body, 10, 15, null)

Ответ 3

Это позволяет многострочный, устанавливать пользовательскую ширину, высоту и место установки. Для проверки используется StringLength или RegularExpression в Model.cs

Синтаксис просмотра бритвы

@Html.TextAreaFor(model => model.property, new { style = "width: 420px; height: 100px;", placeholder = "Placeholder here.." })

Ответ 4

Я думаю, что Html.EditorFor Это то, что вы ищете. Это только для MVC2 и вверх, хотя. Помогает ли это?

Если вы используете DataAnnotations и украшаете свое свойство с помощью [DataType(DataType.MultilineText)]  Атрибут MVC должен выставить требуемый html для вас.

Ответ 5

В слое Entity:

[MaxLength(500)]
public string Body { get; set; }

И в поле зрения:

@Html.TextAreaFor(model => model.Body, new { rows = 10, cols = 50 })

Ответ 6

Решение VB.net:

@Html.TextAreaFor(функция (модель) Model.Body, 3, 55, Nothing)