Ответ 1
Это сделало это для меня. Я не сохранил свойство MultiLine.
<asp:TextBox ID="txtBodySMS" runat="server" Rows="10" MaxLength="2" Width="100%"></asp:TextBox>
<asp:TextBox ID="txtBodySMS" runat="server" Rows="10"
TextMode="MultiLine" Width="100%"></asp:TextBox>
Это мое текстовое поле. Как я могу ограничить количество символов, которые пользователь может ввести внутри него?
Это сделало это для меня. Я не сохранил свойство MultiLine.
<asp:TextBox ID="txtBodySMS" runat="server" Rows="10" MaxLength="2" Width="100%"></asp:TextBox>
MaxLength
не применяется к ASP.NET для текстовых полей с TextMode="MultiLine"
. Простой способ сделать это и сохранить разметку MultiLine
- добавить:
onkeypress="return this.value.length<=10"
с 10 является пределом. Вот так:
<asp:TextBox ID="txtBodySMS" runat="server" Rows="10" onkeypress="return this.value.length<=10" TextMode="MultiLine" Width="100%"></asp:TextBox>
MaxLength = "Int32"
<asp:TextBox ID="txtBodySMS" runat="server" Rows="10" MaxLength="220"
TextMode="MultiLine" Width="100%"></asp:TextBox>
Максимальная проверка длины символов (допускается максимум 8 символов)
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator Display = "Dynamic" ControlToValidate = "TextBox1" ID="RegularExpressionValidator1" ValidationExpression = "^[\s\S]{0,8}$" runat="server" ErrorMessage="Maximum 8 characters allowed."></asp:RegularExpressionValidator>
Минимальная проверка длины символа (требуется минимум 8 символов)
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator Display = "Dynamic" ControlToValidate = "TextBox2" ID="RegularExpressionValidator2" ValidationExpression = "^[\s\S]{8,}$" runat="server" ErrorMessage="Minimum 8 characters required."></asp:RegularExpressionValidator>
Минимальная и максимальная проверка длины символов (минимум 5 и максимум 8 символов)
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator Display = "Dynamic" ControlToValidate = "TextBox3" ID="RegularExpressionValidator3" ValidationExpression = "^[\s\S]{5,8}$" runat="server" ErrorMessage="Minimum 5 and Maximum 8 characters required."></asp:RegularExpressionValidator>
AFAIK maxlength никогда не работал в сочетании с "многострочным" режимом. Поэтому я бы предложил некоторые js/jquery на стороне клиента и серверную сторону, чтобы обойти эту проблему.
Установите для атрибута MaxLength количество символов.
Вы ищете MaxLength: посмотрите здесь
Вы пытались установить свойство MaxLength в TextBox? для Ссылка
Добавьте расширитель типа FliterTextBoxExtender для текстового поля
он должен выглядеть так:
<asp:TextBox ID="TxtCellular" runat="server"></asp:TextBox>
<asp:FilteredTextBoxExtender ID="TxtCellular_FilteredTextBoxExtender"
runat="server" Enabled="True" TargetControlID="TxtCellular" FilterType="Numbers">
</asp:FilteredTextBoxExtender>
Важно отметить, что использование только MaxLength
(без добавления других свойств, как и другие ответы) работает ТОЛЬКО для проектов в .NET Framework 4.5 и выше.
Я использую 4.5, и он работал для моего проекта
<asp:TextBox ID="txtSample" MaxLength="3" runat="server"/>
при копировании и вставке с помощью onkeypress нельзя использовать более 255 символов
Если вы используете 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 = "Разрешены только альфа-символы.")]
Просто введите ниже двух строк в .cs page load
textbox1.Attributes.Remove("MaxLength");
textbox1.Attributes.Add("MaxLength", "30");
Надеюсь, это поможет!