.asp 如何向 .aspx 传递URL参数, 怎么做都是乱码?高手server.URLpathencode
server.URLencode似乎都不行,因为aspx接收后的解码是用 HttpUtility.UrlDecode() 这类函数处理的,似乎是不能对应上的..
目前不能对方合作的人(用.aspx /asp.NET)的一方修改,只有asp发连接的这边处理了..
急!求救..!

解决方案 »

  1.   

    http://q.cnblogs.com/q/26717/
      

  2.   

    我没看懂,HttpUtility.UrlDecode() 这类函数处理的,似乎是不能对应上的,什么意思
      

  3.   

    传递参数时使用 HttpUtility.UrlEncode(),获取是直接reuqest就行,不用解码
      

  4.   

    修改你web.config里面的
    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
    或者
    <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
      

  5.   

    url参数特殊字符浏览器是会自动编码的,获取参数的时候使用Request["参数名"]就可以了,不用解码
    如果你自己为参数写了编码的方法的话,那再写对应的解码方法就可以了
      

  6.   

    先对你要发送的url 进行编码,到那边再重新解码就ok 了。asp网上可以找到进行编码的方法,我用过的,解码就直接可以用HttpUtility.UrlDecode() 就行
      

  7.   

    Request[""] 直接接受不到吗?
      

  8.   

    谢谢楼上各位的帮助, 不知道是不是我的强调没有凸显:.asp 这边是我写的,.aspx 是第三方的,我们没办法改变任何... 但是他们整个站点的接收和传递是没问题的,因为他们都是用asp.net的 HttpUtility.UrlEcode() , HttpUtility.UrlDecode(), 配对,但是我们的程序是asp程序来的,没有这个功能函数, 问如何实现达到成功传递的效果.希望高手指点!
      

  9.   

    你可以用JS转向啊   Js有Encode  和 decode函数
      

  10.   

    用JS里的escape(要编码的值)
    location = 'a.aspx?name=' + escape('落阳') 
      

  11.   

    escape(url)传过去
    然后传到的那个页面正常接收
    注意:escape不识别 + 这个符号。
      

  12.   

    (1)发送要加上URLEncode
    (2)在web.config里加上<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="zh-CN" fileEncoding="utf-8"/>就可以了
    、、
    URLEncode在asp和asp.net中是表现不同的,下面有说明:
    http://blog.csdn.net/zhangfeng1133/article/details/384660更多的关于request的介绍,下面连接说的很详细了,可以参考以下
    http://axislover.blog.163.com/blog/static/1077651520091205630278/
      

  13.   

    你弄清楚对方是对传递参数decode,还是对整个url进行decode了没
      

  14.   

    还有就是,你传出的参数是来源于代码中的一个字符串常量还是输入框输入,如果是代码中的字符串常量,你要注意了,看你的代码文件存储编码跟<meta http-equiv="Content-Type" content="text/html; charset=utf-8">是不是一致
      

  15.   

    都是通过URL传参,和平台语言无关吧
      

  16.   

    问题解决了....
    实际上是我这边是 GB2312编码格式, 对方是UTF-8 类型, 所以无论怎么对称加密解密,都无效.解决方法是我这边生成UTF-8的编码格式再加密过去, 对方就可以解密出UTF-8编码方式了.怎么实现呢?
    ---------------------------
    JS有一个函数实现,该函数无条件限制输出UTF-8格式:encodeURIComponent()
    因为我用VB脚本, 没有相似的功能函数,又不能因为这个传参改变我原先整个项目的编码方式,
    只有在转换的过程中设置语言,转换输出完再设置回去:
    Response.CodePage = 65001
    Response.Write(Server.URLEncode("我们abc/:"))
    Response.CodePage = 936
     
      

  17.   

    实际上是我这边是 GB2312编码格式, 对方是UTF-8 类型, 所以无论怎么对称加密解密,都无效.解决方法是我这边生成UTF-8的编码格式再加密过去, 对方就可以解密出UTF-8编码方式了.怎么实现呢?
    ---------------------------
    JS有一个函数实现,该函数无条件限制输出UTF-8格式:encodeURIComponent()
    因为我用VB脚本, 没有相似的功能函数,又不能因为这个传参改变我原先整个项目的编码方式,
    只有在转换的过程中设置语言,转换输出完再设置回去:
    Response.CodePage = 65001
    Response.Write(Server.URLEncode("我们abc/:"))
    Response.CodePage = 936
    你这个方法非常的好,也解决了我的问题,谢谢你把解决方法发布出来!此举非常有意义,感谢了!
      

  18.   

    我最近也遇到传值问题,可是,我那个是通过JS来控制传值的,然后JS里面的代码不能识别ASP.net中的代码,你叫我如何传值是好啊?在URL中传值的话,只能传一个静态的值,js代码如下:<script type="text/javascript">
            function open1() {
                var a = 333;
                Dialog.open({ URL: "test5.aspx?a=555&b=1015&c=3399", ShowButtonRow: true, Width: 350, Height: 550 });
            }
    </script>URL里面传的值只有a=555&b=1015&c=3399,这几个值都是静态的,换成变量的话,会有错误出现,大家说说应该怎么解决啊?求帮助....