Как добавить maxlength для TextAreaFor в режиме просмотра с помощью бритвенного двигателя
У меня есть элемент управления TextArea() в моем представлении, реализованный с использованием Razor Engine.
@Html.TextArea("EventNature",new { style = "width: 200px; height: 100px;" })
Как установить атрибут Maxlength для этого элемента управления?
есть ли встроенный атрибут в RazorEngine или мне нужно использовать скрипты?
Ответы
Ответ 1
Вы можете сделать это как:
@Html.TextArea("EventNature",new { maxlength=50, // or other value
style = "width: 200px; height: 100px;" })
Просто имейте в виду атрибут HTML5
maxlength HTML5
Максимальное количество символов (кодовые точки Юникода), которые пользователь может ввести. Если он не указан, пользователь может ввести неограниченное количество символов.
MDN
Проверка Javascript (с использованием jQuery) для HTML < 5:
$('#EventNature').keypress(function(){
if (this.value.length >= 10) // allowing you to enter only 10 chars.
return false;
});
DEMO
Ответ 2
Это также работает для помощника TextAreaFor с более чем одним анонимным типом в new
Подтверждено до отлично работает в Visual Studio 2015 с MVC 5
@Html.TextAreaFor(model => model.Comments, 5, 500, new {maxlength=4000, @class = "form-control" })
Ответ 3
Вы также можете ограничить длину текстового поля, например:
<textarea id="EventNature1" maxlength="10"></textarea>
OR
@Html.TexareaFor(m=>m.Name,new{@maxlength="10"})
Ответ 4
<p>Customer Number: @Html.TextBox("SearchString1",null, new {maxlength = 6})
<input type="submit" value="Filter" /></p>
Вышеприведенный пример, который работал у меня, чтобы ограничить ввод максимально допустимых символов. Советы, которые показывают, что вы можете стрелять при использовании среды .Net, чрезвычайно полезны. (* Заметьте, это физически не меняет размер текстового поля)
"SearchString1" = Строковое имя ----- null = Значение объекта ------ new {maxlength = 6} = object htmlAttributes
Ответ 5
Как установить атрибут Maxlength для этого элемента управления?
Атрибут maxlength
недействителен для элемента <textarea>
. Это не ограничение ASP.NET MVC. В спецификации HTML этот атрибут определяется только для простых полей ввода текста. Если вы хотите ограничить количество символов, которые пользователь может ввести в текстовое поле, вы можете использовать javascript.