2012-11-07 50 views
3

我可以用得到我的浏览器网址:string url = HttpContext.Current.Request.Url.AbsoluteUri; 但是说,如果我有如下的URL:得到任何东西在URL

http://www.test.com/MyDirectory/AnotherDir/testpage.aspx 

我将如何得到它的“mydirectory中”的一部分,是有.NET中的实用工具来获取这个或我需要字符串操作吗?

如果我在第一个“/”的实例之后进行字符串操作并说出任何内容,那么它不会在http:?之后返回斜杠。如果我的网址是www.test.com/MyDirectory/AnotherDir/testpage.aspx

能有人帮

+0

你检查类的其他属性,例如['AbsolutePath'](http://msdn.microsoft.com/en-us/library/system.uri.absolutepath.aspx)? –

回答

8

从实例化一个Uri实例,将你的工作网址:

Uri myUri = new Uri("http://www.test.com/MyDirectory/AnotherDir/testpage.aspx"); 

可以使用再拿到路径段成字符串数组:

string[] segments = myUri.Segments 

你的第一个“mydirectory中”文件夹位于:

string myFolderName = segments[0]; 
+0

谢谢,这就是我所需要的。 – Zaki

4

您可以通过Url

var path = HttpContext.Current.Request.Url.PathAndQuery; 

PathAndQuery财产得到这个它将返回/MyDirectory/AnotherDir/testpage.aspx

2
Uri uriAddr = new Uri("http://www.test.com/MyDirectory/AnotherDir/testpage.aspx"); 
var firstSegment= uriAddress.Segments.Where(seg => seg != "/").First(); 
相关问题