Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET:在文本框中输入非数字值时是否生成错误消息?_C#_Asp.net_String_Webforms_Textbox - Fatal编程技术网

C# ASP.NET:在文本框中输入非数字值时是否生成错误消息?

C# ASP.NET:在文本框中输入非数字值时是否生成错误消息?,c#,asp.net,string,webforms,textbox,C#,Asp.net,String,Webforms,Textbox,如果用户在文本框中输入非数字值并按下按钮,我希望在标签上显示错误消息 如何实现这一点?如果您使用的是ASP.NET webforms,可能您有如下标记: <asp:TextBox runat="server" ID="TextBox1" Text="Default Text!" /> <asp:Button ID="Button1" runat="server" Text="Click Me" OnClick="ChangeIt" /> <br /> <

如果用户在文本框中输入非数字值并按下按钮,我希望在标签上显示错误消息


如何实现这一点?

如果您使用的是ASP.NET webforms,可能您有如下标记:

<asp:TextBox runat="server" ID="TextBox1" Text="Default Text!" />
<asp:Button ID="Button1" runat="server" Text="Click Me" OnClick="ChangeIt" />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="default!" />

如果您正在使用ASP.NET webforms,可能会有如下标记:

<asp:TextBox runat="server" ID="TextBox1" Text="Default Text!" />
<asp:Button ID="Button1" runat="server" Text="Click Me" OnClick="ChangeIt" />
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="default!" />

你是说你只允许数字吗

<asp:TextBox runat="server" ID="TextBox1" />
<asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="TextBox1" ErrorMessage="Digits only, please" ValidationExpression="^\d+$" />

如果这将只允许数字,但也将允许您完全跳过该框。如果要使其成为必需,请添加以下内容:

<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ErrorMessage="Required" />


更新:如果您想接受除“3”之外的“3.5”等十进制值,请将我上面提供的RegularExpressionValidator中的ValidationExpression修改为“^\d+(\.\d+)?$”

您是说只允许数字吗

<asp:TextBox runat="server" ID="TextBox1" />
<asp:RegularExpressionValidator runat="server" ID="RegularExpressionValidator1" ControlToValidate="TextBox1" ErrorMessage="Digits only, please" ValidationExpression="^\d+$" />

如果这将只允许数字,但也将允许您完全跳过该框。如果要使其成为必需,请添加以下内容:

<asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" ControlToValidate="TextBox1" ErrorMessage="Required" />


更新:如果您只想接受“3”之外的“3.5”等十进制值,请修改我在上面提供的RegularExpressionValidator中的ValidationExpression,将其改为“^\d+(\.\d+?$”

假设您想检查输入是数字还是字符串(如果输入是字符串,则显示错误),您可以使用int.TryParse函数执行以下操作:

protected void Button1_Click(object sender, EventArgs e)
{
    int readValue;
    if (!int.TryParse(TextBox1.Text, out readValue))
        Label1.Text = "Error";
}

假设要检查输入是数字还是字符串(如果输入是字符串,则显示错误),可以使用int.TryParse函数执行以下操作:

protected void Button1_Click(object sender, EventArgs e)
{
    int readValue;
    if (!int.TryParse(TextBox1.Text, out readValue))
        Label1.Text = "Error";
}

我不明白这个问题。您是否询问在单击按钮时如何更改winform中标签的文本?@ilkdrl:这是针对ASP.NET WebForms、Windows Forms、WPF等的?WinForms、WPF还是ASP.NET?他们都有一个文本框。很抱歉。它的网络表单根据他发布的另一个问题,他可能试图接受数字来计算重量。通过“字符串”,他可能指的是非数字文本。新程序员有时就是不懂术语,我不明白这个问题。您是否询问在单击按钮时如何更改winform中标签的文本?@ilkdrl:这是针对ASP.NET WebForms、Windows Forms、WPF等的?WinForms、WPF还是ASP.NET?他们都有一个文本框。很抱歉。它的网络表单根据他发布的另一个问题,他可能试图接受数字来计算重量。通过“字符串”,他可能指的是非数字文本。新的程序员有时就是不知道术语。