2024年4月30日发(作者:)
第2章 AJAX Control Toolkit中的文本输入处理
第2章 AJAX Control Toolkit中的文本输入处理
AJAX Control Toolkit提供了多个与文本输入相关的控件,用户使用这些控件
能够实现多样式文本输入功能,如添加水印提示、拒绝非法字符、多样式验证、智能密码
强度提示、在线智能输入建议、弹出式日历选择输入、控制并验证用户输入格式、可选择
输入等。本章节介绍应用 AJAX Control Toolkit中的控件(如TextBoxWatermark、
FilteredTextBox、ValidatorCallout、PasswordStrength、AutoComplete、Calendar、PopupControl
等)实现上述功能的方法。
2.1 添加水印提示的TextBoxWatermark控件
当用户在网页中的文本输入框中输入内容时,一些文本框能够显示提示信息。当焦点
落在该文本框上时,显示的提示信息又会自动消失。这就是被称为水印提示的功能,效果
如图2.1所示。使用 AJAX Control Toolkit中的TextBoxWatermark控件,就能够实行
该功能。
图2.1 水印提示功能
声明TextBoxWatermark扩展器控件的语法类似如下:
ID="tweTextBox" runat="server" TargetControlID="显示水印提示的TextBox控件的ID值" WatermarkText="水印提示" WatermarkCssClass="水印提示的样式" /> 注意:在 AJAX Control Toolkit程序集中,若需要使用TextBoxWatermark控件,则需要使 用其的全称“TextBoxWatermarkExtender”。其实,上述程序代码中已经显示了这种差别。另外,若 AJAX Control Toolkit程序集中的其他控件也存在和TextBoxWatermark控件类似的情况时,将不再做特殊 说明。 另外,TextBoxWatermark控件包含3个常用的属性:TargetControlID、WatermarkCssClass 和WatermarkText。具体说明如表2-1所示。 表2-1 TextBoxWatermark控件的属性及其说明 属性 TargetControlID WatermarkText WatermarkCssClass 说明 使用该控件的服务器端控件的ID值。 水印提示 水印提示的样式 WatermarkText属性指定TextBox控件(TextBoxWatermark控件的TargetControlID属性指 定的控件)的水印提示。若要在TextBox控件中显示水印提示“请输入用户名称”,则只要 把TextBoxWatermark控件的WatermarkText属性的值设置为“请输入用户名称”即可。 在下述代码实例中,页面演示了为TextBox控件添加水印提示的功能。 1 2.0 AJAX TextBox控件的ID属性的值为tbInput,TextBoxWatermarkExtender控件的ID属性的值为 tweInput。tweInput控件为tbInput控件显示水印提示信息“请输入数据……”。 <%@ Page Language="C#" StylesheetTheme="ASPNETAjaxWeb"%>
Width="300px">
TargetControlID="tbInput" WatermarkText="请输入数据……" WatermarkCssClass="Watermark">
上述代码实例的执行结果如图2.2所示。
图2.2 演示水印提示的功能
另外,tweInput控件还设置了水印提示的样式(即WatermarkCssClass属性的值)为
“Watermark”。该样式定义了水印提示的背景颜色和文本颜色,其程序代码如下。
.Watermark
{
background-color:Gray;
color:#666666;
}
2.2 拒绝非法字符的FilteredTextBox控件
许多网站在注册新用户或申请新邮箱时,用户或邮箱的名称一般不能包含一些特殊字
符,如“@”、“#”、“/”等。在 Web应用程序中,程序员可以通过程序的后
台功能(如.cs文件中的功能)或正则表达式来判断用户是否输入了这些特殊字符,从而防
止用户输入这些特殊字符。然而,上述实现方法往往是比较复杂。 AJAX Control
Toolkit中的FilteredTextBox控件能实现拒绝非法字符或过滤指定的字符的功能。声明
FilteredTextBox扩展器控件的语法类似如下。
ID="fteTextBox" runat="server" TargetControlID="被过滤字符的TextBox控件的ID值" 2
发布评论