如何使用vb.net单击按钮验证两个文本框?

时间:2010-11-22 05:09:04

标签: asp.net vb.net

如何使用vb.net单击按钮验证两个文本框?

显示错误:

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
    If TextBox1 = "06:00:01 PM" & TextBox2.Text = "02:00:01 PM" Then
        MsgBox "Submit"
    End If
End Sub

我的这段代码怎么了? 我想使用if语句验证两个复选框...按钮单击

3 个答案:

答案 0 :(得分:3)

首先,如果您分享错误消息,它总是有帮助的。但是这里有很多错误:

  1. &安培;并不意味着你认为它的作用。它是字符串连接运算符,与逻辑AND无关。你想要“And”或“AndAlso”。
  2. 不要忘记使用TextBox的.Text属性。
  3. 绝不永远从不调用ASP.Net中的MsgBox函数。当部署到无人值守的Web服务器(正常情况)时,它将显示在专门为此目的创建的私有桌面上并阻塞,直到点击,鉴于它在私有destkop上显示,可以永远不会发生。
  4. 您的用户会讨厌强制他们手动输入这种特定的日期时间格式。
  5. 使用ASP.Net验证控件。这很简单。

答案 1 :(得分:1)

仅使用TextBox1无法获取TextBox的值要获取值,您需要使用TextBox1.Text

另外,你不能像你那样使用&,因为它用于连接字符串。您需要AndAlso

试试这个

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
    If TextBox1.Text = "06:00:01 PM" AndAlso TextBox2.Text = "02:00:01 PM" Then
        ''# This is Valid
    Else
        ''# Sorry, Try Again
    End If
End Sub

虽然我建议使用内置的ASP.NET验证...我不确定您是否必须完全验证这些时间,但您可以尝试使用RegularExpressionValidatorRequiredFieldValidator

可以成为DateTime的正则表达式

"^((((([13578])|(1[0-2]))[\-\/\s]?(([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))[\-\/\s]?(([1-9])|([1-2][0-9])|(30)))|(2[\-\/\s]?(([1-9])|([1-2][0-9]))))[\-\/\s]?\d{4})(\s((([1-9])|(1[02]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$"

答案 2 :(得分:0)

尝试更改:

If TextBox1 = "06:00:01 PM" & TextBox2.Text = "02:00:01 PM" Then

要:

If TextBox1.Text = "06:00:01 PM" AndAlso TextBox2.Text = "02:00:01 PM" Then