我传一商品的规格 gg 内容为 "3#卡拉 閉尾 15CML" 到另一页面在页面里单 ispostback=false 时 Request.QueryString("gg").ToString="3#卡拉 閉尾 15CML"但当 ispostback=true 时 Request.QueryString("gg").ToString="3",而且只有 "数字后面加#"的字符串才会出现这种情况,其他字符串都正常.

解决方案 »

  1.   

    "abcd#卡拉 閉尾 15CML" 也会变为 "abcd"
      

  2.   

    自己解决了。
    加 server.UrlEncode(Request.QueryString("gg").ToString)就可以
      

  3.   

    在web.config中这样改也可:
    <globalization requestEncoding="GB2312" responseEncoding="GB2312" />
      

  4.   

    <globalization requestEncoding="GB2312" responseEncoding="GB2312" />这句我本来就有.如果不在加server.urlEncode("")单 ispostback=true时,遇到含 "#"的字符串就是不行。
      

  5.   

    server.UrlEncode正解,汉字特殊字符必须用这个函数,再传递
      

  6.   

    在web.config中这样改也可:
    <globalization requestEncoding="GB2312" responseEncoding="GB2312" />
    才可以通过地址传输中文参数.
      

  7.   

    server.UrlEncode正解,汉字特殊字符必须用这个函数,再传递

    在web.config中設置編碼格式也可以
      

  8.   

    Sorry,笔记本键盘太小,一不小心按错了键就提交了:)接上面:
    如果ispostback=false时获取的数据正确,你可以在Page_Load的if(!IsPostBack)中把Request.QueryString["gg"]获取的数据保存在ViewState中,回发后只要从ViewState中获取就行了,而不需要每次都用Request.QueryString方法来获取。
      

  9.   

    <globalization  requestEncoding=  "GB2312  "  responseEncoding=  "GB2312  "  /  > server.UrlEncode
    这两个都要写