我想要做的是将地址栏的全部内容查看站点路径后的所有内容(即问号后面的所有内容)是否包含某些字符串,如果确实如此,则使用网站URL和该字符串返回路径。如何查询当前URL以查看它是否包含某个字符串
的例子,一些代码来使事情可以理解的:
如果我在www.example.com/?blah=image
我想要的代码,以查找字符串image
(问号后面,以防止图像的网站中搞砸名称如果它存在返回www.example.com/images/
(与当前域被查找,而不是手动写入,因为这将用于多个站点)
以下是我迄今为止写的。
Public ReadOnly Property StorageRoot() As String
Get
Dim currentabsolute As String = System.Web.HttpContext.Current.Request.Url.AbsolutePath
Dim currentdomain As String = CurrentDomain
If currentabsolute.Contains("Media") Then
Return System.AppDomain.CurrentDomain.BaseDirectory & "\media\"
ElseIf currentabsolute.Contains("Docs") Then
Return System.AppDomain.CurrentDomain.BaseDirectory & "\docs\"
ElseIf currentabsolute.Contains("Image") Then
Return System.AppDomain.CurrentDomain.BaseDirectory & "\images\"
End If
End Get
End Property
我知道CurrentDomain
将不会返回任何东西,System.Web.HttpContext.Current.Request.Url.AbsolutePath
似乎并没有返回我所期待的所以这些都是我所希望获得帮助的一部分。
任何帮助将不胜感激,如果您需要任何更多的澄清只是问。
编辑:更新的代码
此代码是否会在页面代码隐藏,HttpHanlder或MVC下运行?另外,本文(http://www.west-wind.com/weblog/posts/2009/Dec/21/Making-Sense-of-ASPNET-Paths)可能会有所帮助。 – JamieSee 2011-12-22 17:17:42
是的,它运行在一个代码隐藏和一个ihttphandler – dudledok 2011-12-22 17:26:33