osh*_*nen 1 vb.net asp.net .net-1.1
在我的代码中,我想检查引用者URL是否存在以及引用者URL是否包含特定子字符串.我知道如何检查子字符串:
If( InStr( Request.UrlReferrer.ToString(), "some sub string here" ) > 0 ) Then
Run Code Online (Sandbox Code Playgroud)
但我不知道如何检查推荐人是否存在.如果在地址栏中手动输入URL,则不存在引用.所以我尝试了这个,但这不起作用:
If (Not (Request.UrlReferrer.ToString() = "")) And (InStr(Request.UrlReferrer.ToString(), "some sub string here") > 0) Then
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何检查推荐人是否存在?
我认为您的问题是And在您应该使用时使用AndAlso.
And不是短路的.因此,运行时将评估任何方面的每一侧And,然后true如果双方都返回则返回true.所以你可能会得到一个NullReferenceException猜测,因为你试图查看引用者是否包含某些东西,当引用者为空时,因为你没有使用短路评估.
相反,AndAlso如果前半部分是假的,则是短路并且不会费心去评估声明的后半部分.
我从来没有找到一个很好的,令人信服的理由And在VB中使用而不是AndAlso.
无论如何这应该适合你.
If (Not IsNothing(Request.UrlReferrer)) AndAlso Request.UrlReferrer.ToString.Contains("substring") Then
Dosomething
End If
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4939 次 |
| 最近记录: |