【发布时间】:2009-06-28 22:40:39
【问题描述】:
我有一个看起来像 /doSomthing?a=that&ret=url 的页面的请求 但是现在我需要登录,所以我必须做类似 /login?ret=/doSomthing?a=that&ret=url 这并不像人们希望的那样工作,所以我如何正确地转义返回 URL 然后取消转义它?
我正在使用带有 C# 的 ASP.NET
【问题讨论】:
我有一个看起来像 /doSomthing?a=that&ret=url 的页面的请求 但是现在我需要登录,所以我必须做类似 /login?ret=/doSomthing?a=that&ret=url 这并不像人们希望的那样工作,所以我如何正确地转义返回 URL 然后取消转义它?
我正在使用带有 C# 的 ASP.NET
【问题讨论】:
您应该对查询字符串部分进行 URL 编码,这可以使用 HttpUtility 类的 UrlEncode method 来完成:
HttpUtility.UrlEncode(yourString);
【讨论】:
您可以通过 HttpServerUtility 类中的 UrlEncode 方法传递目标 url 来做到这一点。使用示例,在 Page 类中:
string urlEncoded = Server.UrlEncode(this.Request.RawUrl);
【讨论】: