我http:localhost/book/图书.aspx 用urlrewrietnet可以成功请求http:localhost/book.aspx?key=图书, 可是我把图书编码后为http:localhost/book/%253f%254e.aspx就会出现400请求错误?????

解决方案 »

  1.   

    1、把“图书”换成英文,试试,解决可能的rewrite问题
    2、urlencode汉字参数
      

  2.   

    1、 encodeURLComponent() //在谷歌浏览器下地址栏中依旧是明码
    2、 escape()//谷歌浏览器和360地址栏都可以正常显示编码
    最好自己下载个那种gb2312的。这种都有缺陷。第二种空格会编码会成+号
    如果你需要可以留个邮箱。发一份给你
      

  3.   

    方案一
    : 
        Security sec = new Security();
       传递
       http:localhost/book.aspx?key="+sec.Encrypt(key, "cccccccc")+"
       获取
       string key= sec.Decrypt(Request.QueryString["key"].ToString(), "cccccccc");
    方案二

    传递
       http:localhost/book.aspx?key="+Server.UrlEncode(key)+"
     获取
       string key= Server.UrlDecode(Request.QueryString["key"].ToString());
      

  4.   

      注意看URL。 编译后的明显不是原来的页面了。·  你编译的不是参数吧·· 
    book.aspx?key=图书
    book/%253f%254e.aspx
     
      

  5.   

    因为我用urlrewritenet重写了,所以才会变成book/%253f%254e.aspx,不然应该是book.aspx?key=%253f%254e