在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¶m2=222
我知道在& symbol
中识别returnURL
实际参数和参数时会很复杂。请帮我解决这个问题。
提前致谢。
答案 0 :(得分: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¶m2=222")
然后在目标用途:
HttpUtility.UrlDecode(Request.QueryString["returnURL"])