Разрешение только некоторых символов в текстовом поле (C#)
Кристиан Венц (Christian Wenz)
ASP.NET элементы управления проверки могут гарантировать, что в вводе пользователем разрешены только определенные символы. Однако это по-прежнему не мешает пользователям вводить недопустимые символы и пытаться отправить форму.
Общие сведения
ASP.NET элементы управления проверки могут гарантировать, что в вводе пользователем разрешены только определенные символы. Однако это по-прежнему не мешает пользователям вводить недопустимые символы и пытаться отправить форму.
Этапы
Набор средств управления ASP.NET AJAX содержит FilteredTextBox
элемент управления, расширяющий текстовое поле. После активации в поле может быть введен только определенный набор символов.
Для этого нам нужно, как обычно, ASP.NET AJAX ScriptManager
, который загружает библиотеки JavaScript, которые также используются набором средств управления ASP.NET AJAX:
<asp:ScriptManager ID="asm" runat="server" />
Затем нам потребуется текстовое поле:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />
Наконец, FilteredTextBoxExtender
элемент управления ограничивает символы, которые пользователь может вводить. Сначала задайте TargetControlID
атрибут элемента ID
TextBox
управления . Затем выберите одно из доступных FilterType
значений:
Custom
По умолчанию; Необходимо предоставить список допустимых символовLowercaseLetters
Только строчные буквыNumbers
только цифрыUppercaseLetters
Только прописные буквы
Custom FilterType
Если используется , ValidChars
необходимо задать свойство и предоставить список символов, которые могут быть вводимы. Кстати: при попытке вставить текст в текстовое поле будут удалены все недопустимые символы.
Ниже приведена разметка для FilteredTextBoxExtender
элемента управления, который допускает только цифры (то, что также было бы возможно в FilterType="Numbers"
):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
TargetControlID="TextBox1" ValidChars="1234567890" />
Запустите страницу и попробуйте ввести букву, если JavaScript включен, она не будет работать; Однако цифры отображаются на странице. Однако обратите внимание, что защита FilteredTextBox
не является маркерной: если JavaScript включен, в текстовое поле могут быть введены любые данные, поэтому необходимо использовать дополнительные средства проверки, например ASP. Элементы управления проверки NET.
Можно вводить только цифры (щелкните для просмотра полноразмерного изображения)