none
一个asp和ie6的问题,不知道发到哪个板,请指教! RRS feed

  • 问题

  • 3个页面:

    1.asp:
    <a href="2.asp">测试</a>

    2.asp:
    <%
     Response.Redirect("3.asp?ID=14#efefef")
    %>

    3.asp:
    <%
     Response.Write Request("ID")
    %>

    浏览1.asp文件,点击测试,为什么跳转到3.asp的时候,输出的结果为14#efefef

    目前测试只有IE6会发生这个情况,其他浏览器均正常显示14。单独访问3.asp?id=14#efefef输出的结果为14。

    请问这是为什么?如何引起的?IE6 某BUG?

    2011年12月14日 18:33

答案

全部回复

  • #是锚点标记,你应该写

    Response.Redirect("3.asp?ID=" & Server.UrlEncode("14#efefef"))

    得到完整的内容


    【孟子E章】
    2011年12月15日 6:13
    版主
  • 输出的结果为14#efefef

    应该错误的结果

    Server.UrlEncode后输出的结果为14#efefef才是正确的结果

     


    【孟子E章】
    2011年12月15日 6:14
    版主
  • 我的意思是,为什么其他浏览器均没有问题,IE6得到的ID值会包含14#efefef。

    为什么会有这种情况发生?Request到的值不相同,主要是哪个环节的错误?

    #是锚点我知道,我的本意是传递ID=14只是多带了一个锚点而已。

    2011年12月15日 14:11
  • 这可能是一个Bug,参见

    http://www.ianhoar.com/2008/11/16/internet-explorer-6-and-redirected-anchor-links/

    它的解决方法是#前面加&


    【孟子E章】
    • 已标记为答案 jeanun 2011年12月16日 3:24
    2011年12月16日 1:54
    版主