-5
  Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles submit.Click
        If (txtuid.Text = "isol" & txtpwd = "a") Then
            Session("uid") = txtuid.Text
            Response.Redirect("IPDbilling.aspx")
            Return

        Else
            lblmsg.text = "invalide details"
            lblmsg.ForeColor = System.Drawing.Color.Red
            Response.Redirect("login.aspx")
        End If


    End Sub
4

2 回答 2

1

尝试使用And而不是&.

If (txtuid.Text = "isol" And txtpwd = "a") Then

此外,如果txtpwd是 a TextBox,则需要使用txtpwd.Text,而不是txtpwd

&在 VB.NET 中是字符串的连接运算符:

Dim val1 As String = "Hello"
Dim val2 As String = " World!"

Dim val3 As String = val1 & val2

val3 将等于“Hello World!”

您还可以AndAlso用于执行短路评估:

If (txtuid.Text = "isol" AndAlso txtpwd = "a") Then

在这种情况下,如果txtuid.Text不等于 "isol",txtpwd = "a"则不会评估第二部分 (),因为第一部分已经失败(为假)。

于 2013-09-11T07:02:35.780 回答
0

从我看到你有一个编译错误和一个合乎逻辑的编译: & 应该替换为 AND 我猜你是 ac#/cpp/c 人。

逻辑: Response.Redirect 之后不需要 Return,只有一个 exit 有一个 catch,你可以使用 Response.Redirect(locationString,True) 延迟重定向,直到你退出 sub,我不喜欢它如果你控制了流量,就没有理由拖延。

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles submit.Click
       Dim whereToNext As String

    If (txtuid.Text = "isol" AND txtpwd.Text = "a") Then
        Session("uid") = txtuid.Text
         whereToNext = "IPDbilling.aspx"


    Else
        lblmsg.Text = "invalide details"
        lblmsg.ForeColor = System.Drawing.Color.Red
        whereToNext = "login.aspx"
    End If

          Response.Redirect(whereToNext)

End Sub

我希望这对 M 有帮助

ps 当使用 Response.Redirect 离开 sub 时会抛出一个 ThreadCancelledException ,你可以耸耸肩。它被抛出是因为您以不干净的方式离开了潜艇。如果您想干净地离开,请使用 Response.Redirect(string,True) 但在您的 Sub 末尾使用它。

于 2013-09-11T07:15:17.827 回答