XXX.aspx?id=1&key=1a+3b+5c
当Request["key"]时,获得的值为1a 3b 5c,加号被过滤掉了,如何获得过滤前的key串啊,谢谢!

解决方案 »

  1.   

    XXX.aspx?id=1&key=1a%2B3b%2B5c
    + 的 URL 编码 是%2B, 
    在URL中直接出现的+等于空格
      

  2.   

    + 的 URL 编码 是%2B
      

  3.   

    key是加密算法算出来的,我接收用于比对,一替换就没用了,在url里我能看到+ 号而不是%2B,若不替换key中的+, 有没有方法阿?
      

  4.   

    你把加密出来的key先Server.UrlEncode一下,
    要在URL中传,就必须编码,
    编码了没事的,传过去后自动就解码还原了,还是你加密后的样子,
    不编码倒真就出事了,如果你的密文里有个%2B,不编码的话,过去就成+号了
      

  5.   

    还有,上边有位兄弟不太负责,
    #号一出现在URL中,那么自#起的部分就截断了,浏览器直接不传给服务器,它是用来做锚点标记的
      

  6.   

    string +  用字符表示
      

  7.   

    string url = "XXX.aspx?id=1&key=" + Server.UrlEncode("1a+3b+5c");
    string url = Request.QueryString("key");
      

  8.   

    用的是2003吧
    就用UrlEncode吧
    到2005里自动就给你编码了
    然后接受的时候自动解码,很方便
      

  9.   

    Server.UrlEncode()
    Server.UrlDecode()
      

  10.   

    UrlEncode一下不就可以了???