在URL中获取嵌套查询参数

时间:2012-09-13 20:25:46

标签: asp.net url c#-4.0 query-string

我有一个URL,其中有一个查询参数,该参数本身包含带有其他参数的查询字符串。 E.g:

https://discovery.com/disco.ashx?entityId=www.test.com&return=https://myidp.com/?param1=myvalue

如何获取嵌套param1的值?

我尝试过类似的东西,但它不起作用:

var returnParam = context.Request.QueryString["return"];

var test = HttpUtility.ParseQueryString(returnParam);

var value = test["param1"];

2 个答案:

答案 0 :(得分:0)

你可以尝试这个 - var u = new Uri(returnParam); var newparams = u.Query;

答案 1 :(得分:0)

HttpUtility.ParseQueryString只需要查询字符串作为输入。 使用Uri从网址中提取查询字符串,然后将其传递给HttpUtility.ParseQueryString

var uri = new Uri(Request.QueryString["return"]);
var queryParams = HttpUtility.ParseQueryString(uri.Query);
var value = queryParams["param1"];