首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.2  拒绝非法字符的FilteredTextBox控件

许多网站在注册新用户或申请新邮箱时,用户或邮箱的名称一般不能包含一些特殊字符,如“@”、“#”、“/”等。在ASP.NET Web应用程序中,程序员可以通过程序的后台功能(如.cs文件中的功能)或正则表达式来判断用户是否输入了这些特殊字符,从而防止用户输入这些特殊字符。然而,上述实现方法往往比较复杂。ASP.NET AJAX Control Toolkit中的FilteredTextBox控件能实现拒绝非法字符或过滤指定的字符的功能。声明FilteredTextBox扩展器控件的语法类似如下。

<ajaxToolkit:FilteredTextBoxExtender

    ID="fteTextBox" runat="server"

    TargetControlID="被过滤字符的TextBox控件的ID值"

    FilterType="过滤类型"

    ValidChars="合法字符集合" />

另外,FilteredTextBox控件包含5个常用的属性:TargetControlID、FilterType、FilterMode、ValidChars和InvalidChars。具体说明如表2.2所示。

表2.2  FilteredTextBox控件的常用属性及其说明

   

   

TargetControlID

使用该控件的ASP.NET服务器端控件的ID

FilterType

过滤类型,可以为NumbersLowercaseLettersUppercaseLettersCustom

FilterMode

过滤模式

ValidChars

合法字符集合

InvalidChars

非法字符集合

FilterType属性指定了过滤字符的类型,它的值可以为“Numbers”、“LowercaseLetters”、“UppercaseLetters”和“Custom”。其中,“Numbers”表示数字;“LowercaseLetters”表示小写英文字母;“UppercaseLetters”表示大写英文字母;“Custom”表示自定义字符集合。另外,前3个值可以任意组合起来使用,值之间使用逗号(,)分隔。例如,“Numbers,LowercaseLetters”表达式指定数字和小写英文字母。

FilterMode属性指定过滤字符的模式,它的值可以为“ValidChars”或者“InvalidChars”。默认值为“ValidChars”。ValidChars属性指定合法字符集合,InvalidChars属性指定非法字符集合。如果FilterType属性的值为“Custom”,那么ValidChars属性可以定义任意合法字符集合,InvalidChars属性可以定义任意非法字符集合。

在下述代码实例中,Filter.aspx页面演示了为TextBox控件(ID属性的值为tbInput)拒绝非法字符的功能。FilteredTextBoxExtender控件的ID属性的值为fteInput,FilterMode属性的值为“ValidChars”,FilterType属性的值为“UppercaseLetters,LowercaseLetters,Numbers”。因此,tbInput控件只能接收数字、英文字母(包括大写和小写)。

<!-- AjaxTextInput/Filter.aspx页面 -->

<%@ Page Language="C#" StylesheetTheme="ASPNETAjaxWeb" %>

<head runat="server"><title>拒绝非法字符</title></head>

<asp:ScriptManager ID="sm" runat="server"></asp:ScriptManager>

<br />请在下面输入框中输入大写英文字母、小写英文字母和数字。<br />

<asp:TextBox ID="tbInput" runat="server" SkinID="tbSkin"

    Width="300px"></asp:TextBox>

<ajaxToolkit:FilteredTextBoxExtender ID="fteInput" runat="server"

    TargetControlID="tbInput" FilterMode="ValidChars"

    FilterType="UppercaseLetters,LowercaseLetters,Numbers">

    </ajaxToolkit:FilteredTextBoxExtender>

上述代码实例的执行结果如图2.3所示。

图2.3  演示拒绝非法字符的功能

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论