它總是與其他人一起,即使txtUserName.Text =「Adm_A」 這是爲什麼?如果聲明不起作用?
If txtUserName.Text Like "Adm_?" Then
Response.Redirect("AdminLoggedIn.aspx")
Else
Response.Redirect("LoggedIn.aspx")
End If
它總是與其他人一起,即使txtUserName.Text =「Adm_A」 這是爲什麼?如果聲明不起作用?
If txtUserName.Text Like "Adm_?" Then
Response.Redirect("AdminLoggedIn.aspx")
Else
Response.Redirect("LoggedIn.aspx")
End If
我相信這是因爲問號是一個模式操作。請檢查http://msdn.microsoft.com/en-us/library/swf8kaxw(v=vs.71).aspx
你試過使用包含而不是像?
沒有工作:(與我 – Marly
你可以試試這個
如果txtUserName.Text.Trim()像 「海軍上將?」然後
一個簡單的控制檯應用程序來測試您的問題
Sub Main
Dim test = "Adm_AA"
CheckLike(test)
test = "Adm_A"
CheckLike(test)
test = "Adm_A " ' a space after the A'
CheckLike(test)
End Sub
Sub CheckLike(ByVal toCheck as string)
If toCheck Like "Adm_?" Then
Console.WriteLine("Matched")
Else
Console.WriteLine("Not Matched")
End If
End Sub
結果:
Not Matched
Matched
Not Matched
所以有東西在你的字符串,它不是像你認爲它是。 使用調試器並驗證if語句及其參數。 另外要注意,你運行web應用程序和選項比較使用
如何檢查,如果它與「Adm_」字符串開頭的服務器的區域:
If txtUserName.Text.StartsWith("Adm_") Then
Response.Redirect("AdminLoggedIn.aspx")
Else
Response.Redirect("LoggedIn.aspx")
End If
這應該工作。你確定這個字符串是「Adm_A」嗎?它是否包含5個字符? –