FilteredTextBoxExtender

概述

ASP.NET 验证控件可确保只允许用户输入特定的字符。但这并不能阻止用户输入无效字符,也不能阻止表单的提交。
步骤

ASP.NET AJAX Control Toolkit 包含扩展文本框的FilteredTextBox控件。一旦激活,该控件只允许用户在域中输入特定的字符集。

为此,我们首先需要添加(与往常一样)可加载JavaScript 库的 ASP.NET AJAX ScriptManager,这些库也在ASP.NET AJAX Control Toolkit 中使用:
<asp:ScriptManager ID="asm" runat="server" />

然后,我们需要一个文本框:
Numbers only: <asp:TextBox ID="TextBox1" runat="server" />

最后,FilteredTextBoxExtender 控件负责对允许用户输入的字符进行限制。先将TargetControlID属性设为TextBox控件的ID。接下来,选择一个可用的FilterType值:
Custom — 默认值;用户必须提供一个有效字符列表。
LowercaseLetters — 只允许小写字母。
Numbers — 只允许数字。
UppercaseLetters — 只允许大写字母。

如果使用Custom FilterType,则必须设置ValidChars属性,并提供一个可输入的字符列表。顺便提醒一下:在将文本粘贴到文本框时,所有无效字符都将被删除。

以下是只允许输入数字的FilteredTextBoxExtender 控件的标记(也可使用FilterType="Numbers"):
<ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
     TargetControlID="TextBox1" ValidChars="1234567890" />

运行该页面,并尝试输入字母— JavaScript 处于激活状态时,该操作无效;但该页面可以显示数字。不过要注意,FilteredTextBox保护提供的并不是防弹功能:如果JavaScript 未处于激活状态[MU1] ,则可在文本框中输入任何数据。因此,我们必须使用额外的验证手段,即ASP.NET 的验证控件。

 

-------------------------------------------------------------------------------------

<asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
       
        <cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" TargetControlID="TextBox1" FilterType="Custom" ValidChars="请输入" runat="server">
    </cc1:FilteredTextBoxExtender>
   
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
       
        <cc1:FilteredTextBoxExtender ID="FilteredTextBoxExtender2" TargetControlID="TextBox2" FilterType="Numbers" ValidChars="请输入" runat="server">
    </cc1:FilteredTextBoxExtender>

posted @ 2012-04-20 23:41  sidihu  阅读(321)  评论(0编辑  收藏  举报