我可以使用以下网址获取我的浏览器网址:string url = HttpContext.Current.Request.Url.AbsoluteUri;
但是如果我有一个网址如下:
http://www.test.com/MyDirectory/AnotherDir/testpage.aspx
我如何获得它的“MyDirectory”部分,.NET中是否有一个实用程序来实现此功能,还是需要字符串操作?
如果我在第一个“/”实例后进行字符串操作并说出任何内容,那么它将不会在http:?之后返回斜杠如果我的网址为www.test.com/MyDirectory/AnotherDir/testpage.aspx
有人可以帮忙吗
答案 0 :(得分:8)
从您的网址实例化一个Uri实例:
Uri myUri = new Uri("http://www.test.com/MyDirectory/AnotherDir/testpage.aspx");
然后,您可以使用以下命令将路径段转换为字符串数组:
string[] segments = myUri.Segments
您的第一个“MyDirectory”文件夹位于:
string myFolderName = segments[0];
答案 1 :(得分:4)
您可以通过PathAndQuery
Url
属性获取此信息
var path = HttpContext.Current.Request.Url.PathAndQuery;
它将返回/MyDirectory/AnotherDir/testpage.aspx
答案 2 :(得分:2)
Uri uriAddr = new Uri("http://www.test.com/MyDirectory/AnotherDir/testpage.aspx");
var firstSegment= uriAddress.Segments.Where(seg => seg != "/").First();