2012-12-23 186 views
2

它總是與其他人一起,即使txtUserName.Text =「Adm_A」 這是爲什麼?如果聲明不起作用?

If txtUserName.Text Like "Adm_?" Then 
      Response.Redirect("AdminLoggedIn.aspx") 
     Else 
      Response.Redirect("LoggedIn.aspx") 
     End If 
+0

這應該工作。你確定這個字符串是「Adm_A」嗎?它是否包含5個字符? –

回答

0

試試這個:

If txtUserName.Text.Trim() Like "Adm_?" Then 
+0

did not't work :(with me – Marly

+0

我認爲你有錯字 –

0

你可以試試這個

如果txtUserName.Text.Trim()像 「海軍上將?」然後

1

一個簡單的控制檯應用程序來測試您的問題

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應用程序和選項比較使用

0

如何檢查,如果它與「Adm_」字符串開頭的服務器的區域:

If txtUserName.Text.StartsWith("Adm_") Then 
     Response.Redirect("AdminLoggedIn.aspx") 
    Else 
     Response.Redirect("LoggedIn.aspx") 
    End If