C#得到uri论点

时间:2017-01-09 12:09:51

标签: c# url

http://localhost/ReportServer/Reserved.ReportServer?/Report+Project1&rs:Command=ListChildren

我想通过报告文件夹(Report Project1)获取部分网址。 我尝试HttpContext.Current.Request.Url.Segments,但这个返回数组包含以下项目:" \"," ReportServer"," Reserved.ReportServer"

我如何使用Report Project1获取零件?

2 个答案:

答案 0 :(得分:1)

这是正确的解决方案:

HttpContext.Current.Request.QueryString.Get(0)

答案 1 :(得分:1)

由于此请求中的查询不是标准的,即第一个参数没有变量名称只有文件夹路径,因此您无法以可靠的方式获取URI查询参数。下面的代码将提供您想要的功能,但是使用一个简单的String.split()来查找文件夹的正则表达式会更可靠。

Uri temp = new Uri("http://localhost/ReportServer/Reserved.ReportServer?/Report+Project1&rs:Command=ListChildren");
string query = temp.Query;
var folder = HttpUtility.ParseQueryString(query).Get(null);

如果null值在Get方法中,你应该提供变量名称,在你的例子中,rs:Command会返回该参数的值。