Поделиться через


Разрешение только некоторых символов в текстовом поле (C#)

Кристиан Венц (Christian Wenz)

Загрузить PDF-файл

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 атрибут элемента IDTextBox управления . Затем выберите одно из доступных 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.

Можно вводить только цифры

Можно вводить только цифры (щелкните для просмотра полноразмерного изображения)