【问题标题】:stop Response.Redirect from encoding停止 Response.Redirect 从编码
【发布时间】:2011-06-28 19:16:08
【问题描述】:

这个response.redirect之后生成的URL字符串让我们很头疼。它正在用 url 百分比编码字符替换字符并添加额外的文件目录。

Response.Redirect("TestingReport.aspx?id=" + Request.QueryString("id") + "&Test_Type_ID=" + Request.QueryString("Test_Type_ID") + "&TType=" + Request.QueryString("TType"))

https://subdomain.domain.com/User%20Portal/Testing/%2fUser%2520Portal%2fTesting%2fTestingReport.aspx%3fid%3d8444%26Test_Type_ID%3d2%26TType%3dCore%20Mandatory%202

为什么会发生变化?和 = 到百分比代码?我也不明白为什么它要附加用户门户/测试两次。

谢谢

【问题讨论】:

    标签: .net asp.net vb.net


    【解决方案1】:

    它叫做URLEncoding。结帐this online utility 以解码您拥有的字符串。 在 .NET 中,您可以使用System.Web.HttpUtility 进行编码/解码。

    【讨论】:

      【解决方案2】:

      整个 URL 得到 URL 编码,这可能是因为您没有对放入字符串中的值进行 URL 编码。 URL 正确编码值,它应该可以工作:

      Response.Redirect(
        "TestingReport.aspx?id=" + Server.UrlEncode(Request.QueryString("id")) +
        "&Test_Type_ID=" + Server.UrlEncode(Request.QueryString("Test_Type_ID")) +
        "&TType=" + Server.UrlEncode(Request.QueryString("TType"))
      )
      

      【讨论】:

        【解决方案3】:

        可能希望与 Redirect 方法行分开构建查询字符串,对这些值进行 URL 编码,然后对传递给 Response.Redirect 的 URL 进行 HTML 编码

        示例来自 MSDN 网站。我怀疑您的串联操作以某种方式导致框架对整个内容进行 URL 编码,而不仅仅是值。

        <% 
        

        调暗

        qs = Server.URLEncode(Request.Querystring) 
        
        Response.Redirect "newpage.asp?" + Server.HTMLEncode(qs) 
        %>
        

        http://msdn.microsoft.com/en-us/library/ms524309.aspx

        【讨论】:

        • 不,整个查询字符串不应该是 URL 编码,只有值,否则你将编码 &amp; 分隔符。此外,查询字符串不应该是 HTML 编码的。当您将 URL 放入 HTML 代码中的属性中时会使用这种方法,然后整个属性值应该是 HTML 编码的,而不仅仅是查询字符串。
        【解决方案4】:

        查看this post。基本上 .Net 正在尝试为您清理 URL 并搞砸。解决办法是手动编码。

        【讨论】:

          【解决方案5】:

          确保您的网址中没有空格。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-04-29
            • 2011-07-03
            • 2018-07-13
            • 1970-01-01
            • 1970-01-01
            • 2020-06-02
            相关资源
            最近更新 更多