利用QueryString来跳转到需要的返回地址
注意不要把UrlEncode写成HtmlEncode,我掉进去过了...
1. 生成encode过的URL,用于redirect
// encode return url
string rawReturnUrl = "/Default.aspx?CId=5&TId=1";
注意不要把UrlEncode写成HtmlEncode,我掉进去过了...
1. 生成encode过的URL,用于redirect
// encode return url
string rawReturnUrl = "/Default.aspx?CId=5&TId=1";
// encode return url
string visitUrl = "Login.aspx?&a=111&r=" + HttpUtility.UrlEncode(rawReturnUrl);
// transfer page
Server.Transfer(visitUrl);
string visitUrl = "Login.aspx?&a=111&r=" + HttpUtility.UrlEncode(rawReturnUrl);
// transfer page
Server.Transfer(visitUrl);
2. 在Login.aspx
// decode return url in visit url
// this.Request.QueryString["r"]其实已经UrlDecode好了...MS做了太多coder该做的事.
string returnUrl = HttpUtility.UrlDecode(this.Request.QueryString["r"]);
// decode return url in visit url
// this.Request.QueryString["r"]其实已经UrlDecode好了...MS做了太多coder该做的事.
string returnUrl = HttpUtility.UrlDecode(this.Request.QueryString["r"]);