5

在 ASP.NET 中,我构建了一个字符串redirectURL以重定向到ADFS具有多个查询字符串参数的表单。一个这样的复杂参数是returnURL具有多个参数的。

我的问题是实际返回时只有第一个参数returnURL可用。

E.g. redirectURL = <br> 
https://aaa.aaa/adfs/Form.aspx <br>
?DomainName=domain <br>
&AccountName=account <br>
&returnURL=https://bbb.bbb/MyPage.aspx?param1=111&param2=222

我知道在识别&amp symbol实际参数和returnURL. 请帮我解决这个问题。

提前致谢。

4

1 回答 1

11

编写链接时应使用HttpUtility.UrlEncode ,解析链接时应使用HttpUtility.UrlDecode

对于您的情况,它应该类似于:

"https://aaa.aaa/adfs/Form.aspx?DomainName=domain&AccountName=account&returnURL=" + 
    HttpUtility.UrlEncode("https://bbb.bbb/MyPage.aspx?param1=111&param2=222")

然后在目标使用:

HttpUtility.UrlDecode(Request.QueryString["returnURL"])
于 2013-01-12T14:37:22.403 回答