Atlas学习手记(17):使用FilteredTextBox过滤字符

FilteredTextBox Extender可以过滤TextBox中用户输入的不合法字符,使用JavaScript和验证控件来检测时一般都是在用户输入之后再去判断是否合法,使用FilteredTextBox则可以直接阻止不让用户输入不合法的字符,也避免了将数据传入到服务端的时候再去验证。

 

主要内容

1FilteredTextBox介绍

2.完整示例

 

一.FilteredTextBox介绍

FilteredTextBox Extender可以过滤TextBox中用户输入的不合法字符,使用JavaScript和验证控件来检测时一般都是在用户输入之后再去判断是否合法,使用FilteredTextBox则可以直接阻止不让用户输入不合法的字符,也避免了将数据传入到服务端的时候再去验证。示例代码如下:

<atlasToolkit:FilteredTextBoxExtender ID="ftbe" runat="server">

    
<atlasToolkit:FilteredTextBoxProperties 

        
TargetControlID="TextBox3" 

        FilterType
="Custom, Numbers"

        ValidChars
="+-=/*()." />

</atlasToolkit:FilteredTextBoxExtender>

它的属性如下:

属性

描述

TargetControlID

要进行过滤的目标TextBoxID

FilterType

字符过滤类型,提供的有如下四种:NumbersLowercaseLettersUppercaseLettersCustom他们之间可以同时指定多个类型,如:

FilterType="Custom, Numbers"

ValidChars

FilterTypeCustom时允许输入的字符,否则将被忽略

ValidChars="+-=/*()."

二.完整示例

FilteredTextBox Extender的使用非常简单,下面看一个完整的示例。新建一个WebSite后,在ASPX页面的顶部加入:

<%@ Register Assembly="AtlasControlToolkit" 

            Namespace
="AtlasControlToolkit" 

            TagPrefix
="atlasToolkit" 
%>

在页面上添加三个TextBox,分别做三种不同的过滤:

<div>

    
<table border="0">

        
<tr>

            
<td>

                只能输入数字:
</td>

            
<td>

                
<asp:TextBox ID="TextBox1" runat="server" />

            
</td>

        
</tr>

        
<tr>

            
<td>

                只能输入小写字母:
</td>

            
<td>

                
<asp:TextBox ID="TextBox2" runat="server" /></td>

        
</tr>

        
<tr>

            
<td>

                只能输入符号(+,-,*,/,=,.)和数字:
</td>

            
<td>

                
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td>

        
</tr>

    
</table>
</div>

添加FilteredTextBoxExtender,对每一个TextBox都要添加FilteredTextBoxProperties,设置参数如下:

<atlasToolkit:FilteredTextBoxExtender ID="ftbe" runat="server">

    
<atlasToolkit:FilteredTextBoxProperties 

        
TargetControlID="TextBox1" 

        FilterType
="Numbers"/>

    
<atlasToolkit:FilteredTextBoxProperties 

        
TargetControlID="TextBox2" 

        FilterType
="LowercaseLetters" />

    
<atlasToolkit:FilteredTextBoxProperties 

        
TargetControlID="TextBox3" 

        FilterType
="Custom, Numbers"

        ValidChars
="+-=/*()." />

</atlasToolkit:FilteredTextBoxExtender>

运行后如下:

输入字符,可以看到在第一个TextBox中不可以输入字母和符号,第二个TextBox只可以输入小写字母:

完整的示例下载:http://files.cnblogs.com/Terrylee/FilteredTextBoxDemo.rar

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-08-30 09:28 TerryLee 阅读(1946) 评论(11)  编辑 收藏 网摘 所属分类: [08]  Web开发

  回复  引用    
#1楼 2006-08-31 08:35 | ugvanx [未注册用户]
好久不见
  回复  引用  查看    
#2楼 [楼主]2006-08-31 08:47 | TerryLee      
@ugvanx
呵呵,前一段时间比较忙:-)
  回复  引用    
#3楼 2006-08-31 11:31 | ugvanx [未注册用户]
以为你应邀写Altas的书了,不发表了。
  回复  引用  查看    
#4楼 [楼主]2006-08-31 11:36 | TerryLee      
@ugvanx
没有,我自己学习Atlas还不到1个月,去写书,怕被人扔砖头:-)
  回复  引用    
#5楼 2006-09-04 15:35 | leo[匿名] [未注册用户]
<%@ Register Assembly="AtlasControlToolkit"
Namespace="AtlasControlToolkit"
TagPrefix="atlasToolkit" %>
请问已加入上述代码,为何提示
错误Unknown server tag 'atlasToolkit:FilteredTextBoxExtender'.
与dll版本有关吗?我用的是v2.0.50727

  回复  引用  查看    
#6楼 [楼主]2006-09-05 17:30 | TerryLee      
@leo[匿名]
下载最新的AtlasControlToolkit.dll试试看,FilteredTextBox是最近才加的
  回复  引用    
#7楼 2006-09-07 17:56 | viptell [未注册用户]
可以输入中文,这个没有判断

很实用!
  回复  引用    
#8楼 2006-09-20 14:02 | powerdel [未注册用户]
我这里测试是这样:
可以输入中文,但是焦点一离开,就没有内容了。
  回复  引用    
#9楼 2006-10-11 09:23 | 阿Q[匿名] [未注册用户]
如何支持中文啊
  回复  引用  查看    
#10楼 [楼主]2006-10-12 16:00 | TerryLee      
@阿Q[匿名]
中文没试过
  回复  引用    
#11楼 2007-01-17 00:29 | snyod [未注册用户]
代表党(.NET平台)感谢您.
全部收藏...




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索

相关文章:

相关链接: