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
问问题
51 次
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 回答