防止用户插入字母C#

时间:2018-03-19 08:23:15

标签: c# asp.net insert textbox

嗨,我是Asp.net的初学者,实际上我正试图阻止用户在电话号码文本框中插入字母,我正在尝试此代码,但它不起作用。

private void TxtBox5_KeyPress(object sender, KeyPressEventArgs e)
{
    char ch = e.KeyChar;
    if (!Char.IsDigit(ch) && ch !=8)
    { 
        e.Handled = true;
    }
}

3 个答案:

答案 0 :(得分:0)

这似乎来自winforms或wpf。 在aspx中尝试这样的事情:

<asp:TextBox ID="TxtNo" runat="server"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" 
runat="server" ErrorMessage="Enter valid Phone number" 
ControlToValidate="TxtNo" 
ValidationExpression= "^([0-9\(\)\/\+ \-]*)$"></asp:RegularExpressionValidator>

答案 1 :(得分:0)

正如大多数人所评论的那样,您必须使用JavaScript函数来启用此验证。通过此stackoverflow线程描述您现在面临的相同场景。 prevent user from enter non-numeric data in ASP.NET textboxes

答案 2 :(得分:0)

尝试此示例:

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<ajaxToolkit:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="TextBox1" FilterType="Numbers" />

参考:https://www.c-sharpcorner.com/uploadfile/prathore/ajax-filteredtextboxextender/