概述
ASP.NET 验证控件可确保只允许用户输入特定的字符。但这并不能阻止用户输入无效字符,也不能阻止表单的提交。
步骤
ASP.NET AJAX Control Toolkit 包含扩展文本框的FilteredTextBox控件。一旦激活,该控件只允许用户在域中输入特定的字符集。
为此,我们首先需要添加(与往常一样)可加载JavaScript 库的 ASP.NET AJAX ScriptManager,这些库也在ASP.NET AJAX Control Toolkit 中使用:
然后,我们需要一个文本框:
Numbers only:
最后,FilteredTextBoxExtender 控件负责对允许用户输入的字符进行限制。先将TargetControlID属性设为TextBox控件的ID。接下来,选择一个可用的FilterType值:
Custom — 默认值;用户必须提供一个有效字符列表。
LowercaseLetters — 只允许小写字母。
Numbers — 只允许数字。
UppercaseLetters — 只允许大写字母。
如果使用Custom FilterType,则必须设置ValidChars属性,并提供一个可输入的字符列表。顺便提醒一下:在将文本粘贴到文本框时,所有无效字符都将被删除。
以下是只允许输入数字的FilteredTextBoxExtender 控件的标记(也可使用FilterType="Numbers"):
TargetControlID="TextBox1" ValidChars="1234567890" />
运行该页面,并尝试输入字母— JavaScript 处于激活状态时,该操作无效;但该页面可以显示数字。不过要注意,FilteredTextBox保护提供的并不是防弹功能:如果JavaScript 未处于激活状态[MU1] ,则可在文本框中输入任何数据。因此,我们必须使用额外的验证手段,即ASP.NET 的验证控件。
-------------------------------------------------------------------------------------