您能否使用不同的大小写符号从HttpContext.Current.Request.Url.AbsoluteUri和HttpContext.Current.Request.RawUrl中克服vb.net?

您能否使用不同的大小写符号从HttpContext.Current.Request.Url.AbsoluteUri和HttpContext.Current.Request.RawUrl中克服vb.net?,vb.net,request,symbols,Vb.net,Request,Symbols,下面的代码引发服务器错误: Option Compare Text Dim strAppURL As String = HttpContext.Current.Request.Url.AbsoluteUri.Substring(0, HttpContext.Current.Request.Url.AbsoluteUri.IndexOf(HttpContext.Current.Request.RawUrl)) System.ArgumentOutOfRangeException:'长度不能小于

下面的代码引发服务器错误:

Option Compare Text

Dim strAppURL As String = HttpContext.Current.Request.Url.AbsoluteUri.Substring(0, HttpContext.Current.Request.Url.AbsoluteUri.IndexOf(HttpContext.Current.Request.RawUrl))
System.ArgumentOutOfRangeException:'长度不能小于零

因为:

HttpContext.Current.Request.Url.AbsoluteUri=

HttpContext.Current.Request.RawUrl=

注意符号不同:%C4%83%C4%83%C5%A3%C5%A3


如果以前遇到过这个问题,我希望能在代码之外得到一些帮助(除了使用ToUpper()或ToLower()方法)。我更喜欢应用程序级指令。谢谢。

IndexOf
有一个
StringComparison
参数,只需将其设置为ignore case谢谢您的帮助。我的ToLower()方法要简单得多。我曾经在VB6和VBA中编写过很多代码,使用StrComp(str1、str2、vbtextcomper/vbbinarycomper)有点类似。但是,由于这两个对象属于同一个对象(HttpContext.Current.Request),我希望使用一个应用程序指令就可以解决这个问题。我不明白为什么一开始就存在差异。。。一个错误,疏忽,特殊目的?!?!。。。再次感谢。
IndexOf
有一个
StringComparison
参数,只需将其设置为ignore case谢谢您的帮助。我的ToLower()方法要简单得多。我曾经在VB6和VBA中编写过很多代码,使用StrComp(str1、str2、vbtextcomper/vbbinarycomper)有点类似。但是,由于这两个对象属于同一个对象(HttpContext.Current.Request),我希望使用一个应用程序指令就可以解决这个问题。我不明白为什么一开始就存在差异。。。一个错误,疏忽,特殊目的?!?!。。。再次感谢你。
"http://localhost:22222/Dev/Canvas.aspx?&act=ccis&filn=002+(Ene+D%C4%83nu%C5%A3).png"
"/Dev/Canvas.aspx?&act=ccis&filn=002+(Ene+D%c4%83nu%c5%a3).png"