Uri uri = new Uri(redirectionUrl);
NameValueCollection col = HttpUtility.ParseQueryString(uri.Query)
uri.Query
已经解码 - 那么有什么方法可以阻止 ParseQueryString
再次解码它吗?
除此之外 - 是否有另一种方法可以在修改任何组件的情况下从 Uri 检索名称值集合?
最佳答案
在将 uri.Query
传递给 ParseQueryString
之前对其进行编码是我想到的第一件事。
更新
刚刚用 Reflector 检查了 ParseQueryString
方法:它假定查询字符串已编码,您不能用它做任何事情……真可惜。所以我认为你需要手动解析它(网上有很多现成的算法)。
或者,您可以在将查询字符串传递给 ParseQueryString
方法之前对其进行正确编码(考虑变量名称和所有特殊字符)。
-- 帕维尔
关于c# - HttpUtility.ParseQueryString 不解码特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4604158/