仅允许向文本框输入特定字符

Christian Wenz

本文档是Visual Basic 教程(转至 Visual C# 教程

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

« 前一篇教程 |  下一篇教程 »

概述

 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未处于激活状态[1]  ,则可在文本框中输入任何数据。因此,我们必须使用额外的验证手段,即ASP.NET的验证控件。

只能输入数字

 

 

下一篇教程