Контрол ICSSoft.STORMNET.Web.AjaxControls.AlphaNumericTextBox
предназначен для полей, где допустимы только буквы и/или числа. Наследует System.Web.UI.WebControls.TextBox
, реализует ICSSoft.STORMNET.Web.AjaxControls.IAjaxGroupEditCompatible
.
Поддерживает вставку значений из буфера.
Настройка
Настройка свойств осуществляется при загрузке страницы в методе PreApplyToControls()
.
Тип
Для задания типа ввода используется свойство Type
типа AlphaNumericType
:
/// <summary>
/// Перечисление с типами ввода для контрола AlphaNumericTextBox
/// </summary>
public enum AlphaNumericType
{
/// <summary>
/// Буквенный
/// </summary>
Alpha,
/// <summary>
/// Числовой
/// </summary>
Numeric,
/// <summary>
/// Буквенно-числовой
/// </summary>
AlphaNumeric
}
Интервал
Можно задать допустимый интервал вводимых чисел: Min
и Max
. По умолчанию, можно вводить числа из диапазона int32
, то есть можно использовать как положительные, так и отрицательные значения.
Алфавиты
В поля NumericChars
и AlphabeticChars
можно вводить символы допустимого алфавита цифр и букв соответственно. Символы, не попадающие в эти алфавиты, не будут вводиться в данный контрол.
Инициализация
Для инициализации свойств контрола можно использовать статическое свойство-делегат InitSettings
типа InitControlSettingsDelegate<>, который будет вызван в конструкторе контрола.
Особенности
При отключенном ViewState
контрол не сохраняет значения между PostBack-ами, если он находится в состоянии Disabled
(из-за особенностей инфраструктуры ASP.NET).
Примеры
Следующий код устанавливает тип контрола в Numeric
(что позволит вводить в него только цифры), а также устанавливает словарь допустимых символов (что позволит вводить в него только цифры 0, 1 и 2):
ctrlAlpha.Type = AlphaNumericType.Numeric;
ctrlAlpha.NumericChars = "012";
Следующий код устанавливает минимальное и максимальное значение, допустимое для ввода:
ctrlAlpha.Type = AlphaNumericType.Numeric;
ctrlAlpha.Min = 1200;
ctrlAlpha.Max = 1300;
Следующий код устанавливает тип в AlphaNumeric
(что позволит вводить и буквы и цифры), а также устанавливает словари допустмых символов. Таким образом, в контрол можно будет вводить только цифры 1 и 2, а также буквы ‘a’ и ‘b’:
ctrlAlpha.Type = AlphaNumericType.AlphaNumeric;
ctrlAlpha.NumericChars = "12";
ctrlAlpha.AlphabeticChars = "ab";