Я хотел бы ограничить текстовое поле до 10 символов в MVC.
<label ID="lbl2" runat="server" Width="20px"></label>
<%=Html.TextBox("polNum") %>
<label ID="lbl1" runat="server" Width="10px"></label>
Я знаю, что вы можете установить свойство Max Length в .net. Как это сделать в MVC с созданным таким образом текстовым полем?
Вам нужно установить некоторые свойства html... что-то вроде:
<%=Html.TextBox("polNum",null, new {maxlength=10}) %>
удача
Сделайте это в обычном HTML:
<%= Html.TextBox("polNum", null, new { @maxlength = "25" }) %>
(Параметр null
связан с тем, что вы не хотите значения по умолчанию...)
<%=Html.TextBox("polNum", new { maxlength = 10 }) %>
http://msdn.microsoft.com/en-us/library/dd492984.aspx
HtmlHelper использует отражение для изучения анонимного типа. Он преобразует поля типа в атрибуты в элементе управления TextBox в данном случае. Полученный HTML выглядит как
<Textbox id="polNum" maxlength =10 />
Вы можете использовать анонимный тип для добавления других соответствующих атрибутов, таких как
new { @class = "MyCssClass", type = "password", value="HurrDurr",
textmode="multiline" }
Используйте ниже html для установки максимальной длины TextBox В Html.TextBox вторым параметром является значение для текстового поля. Итак, вы можете передать "" или null
<%=Html.TextBox("polNum", "", new { maxlength = 10 }) %>
Используйте перегрузку метода TextBox, который получает атрибуты Html:
Html.TextBox( "polNum", "value", new { maxlength="10" } );
Если вы используете ASP.NET Core, этот маленький кусочек JQuery помог мне (может работать и в обычном ASP.NET, но это не было проверено):
$(document).ready(function () {
$("input[data-val-length-max]").each(function(index) {
// console.log( index + ": " + $(this).attr('data-val-length-max'));
$(this).attr("maxlength", $(this).attr('data-val-length-max'));
});
});
Используйте приведенный выше код в сочетании с атрибутами проверки из System.ComponentModel.DataAnnotations, такими как MaxLengthAttribute и/или StringLengthAttribute, как таковыми:
[StringLength (1, ErrorMessage = "Среднее начальное значение не может превышать 1 символ.")] [MaxLength (1, ErrorMessage = "Среднее начальное значение не может превышать 1 символ.")]
При необходимости вы также можете использовать дополнительные атрибуты проверки. Например, я использую регулярное выражение для проверки среднего начального значения:
[RegularExpression (@"^ [a-zA-Z '] * $", ErrorMessage = "Разрешены только альфа-символы.")]
<asp:Label>
? Это веб-формы. Это MVC, используйте<label>
.