MVC .net текстовое поле в области texbox (Razor)

1

У меня есть текстовое поле, которое я хочу расширить и добавить несколько строк, чтобы сделать его текстовой областью, а не маленькой.

исходный код

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

<input type="submit" value="Send Mail" class="btn btn-default" />

Я нашел это на SOF, но он не работает, и поле выглядит одинаково

@Html.EditorFor(x => x.emailBody, new { @class = "form-control", @rows = 5 })
<input type="submit" value="Send Mail" class="btn btn-default" />

Может ли кто-нибудь предложить простое решение?

Теги:
asp.net-mvc-5

3 ответа

1

Добавьте атрибут DataType.MultilineText к свойству и @Html.EditorFor() будет отображать <textarea> вместо <input type="text"../>

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

Обратите внимание также (если вы используете MVC-5. 1+), то для добавления атрибутов html это должно быть

@Html.EditorFor(x => x.emailBody, new { htmlAttributes = new { @class = "form-control", @rows = 5 } })

Если у вас есть только MVC-5, используйте @Html.TextAreaFor() или создайте пользовательский EditorTemplate и передайте атрибуты в виде AdditionalViewData (пример здесь)

  • 0
    Спасибо 4 быстрое решение :-)
  • 0
    Обратите внимание также (и я предполагаю, что вы используете MVC-5.1 +), чтобы добавить атрибуты html, это должно быть @Html.EditorFor(x => x.emailBody, new { htmlAttributes = new { @class = "form-control", @rows = 5 } }) противном случае вы должны использовать @Html.TextAreaFor() или создать пользовательский EditorTemplate
1
@Html.TextAreaFor(model => model.emailBody, new { @rows = 3 })

вы можете использовать textarea для и устанавливать строки в соответствии с вашим выбором, тем лучше, чем увеличивать линейку обычного текстового поля....

0

Почему вы не можете использовать что-то вроде этого?

@Html.TextAreaFor(model => model.emailBody, new { @rows = 3 })

вместо EditorFor, вы можете использовать TextAreaFor для получения нескольких строк в текстовом поле

  • 0
    Это тоже работает, большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню