请教一下,有没有哪位兄弟遇到过这样的情况,在使用URL传递参数的时候参数部分丢失,如
http://localhost/86ch/adUpgradeInfo.aspx?ClubName=何明旭
结果用Request.QueryString.Get("ClubName")得到的值为何明 
输入英文的时候一般都没问题,有的时候汉字也没什么问题,但有时有问题 

解决方案 »

  1.   

    Server.UrlEncode(ClubName),在另外一边用Server.UrlDecode(Request.QueryString["ClubName"].ToString())获取参数就可以!
      

  2.   

    Response.Redirect("../a.aspx?ClubName="+Server.UrlEncode("何明旭")+"");
      

  3.   

    Server.UrlDecode(Request.QueryString["ClubName"].ToString())
    结果还是没有变啊
      

  4.   

    我是在datagird中传过来的啊,Server.UrlEncode没地方写
      

  5.   

    在DataGrid的模板列里写
    <a href="<%#Server.UrlEncode(DataBinder.Eval(......))%>">xxxx</a>
      

  6.   

    编码问题,把web.config中的编码设为"gb2312"
      

  7.   

    老问题了web.configutf-8   ----->   GB2312
      

  8.   

    楼上的说得不错
    在web.config中加
    <globalization requestEncoding="GB2312" responseEncoding="GB2312"/>
      

  9.   

    传递中文是经常出现这个问题
    可以在DataGrid里面用<%#Server.UrlEncode(DataBinder.Eval(......))%>">
    或者嵌套HyperLink,地址转向用Server.UrlEncode
      

  10.   

    adUpgradeInfo.aspx?ClubName=<%# Server.UrlEncode(DataBinder.Eval(......)) %>
    在获取的时候 Request.QueryString["ClubName"].ToString()获取参数就可以!
    并不需要 Server.UrlDecode(Request.QueryString["ClubName"].ToString())
    用了Server.UrlDecode 有时反而不对
      

  11.   

    把config里面的<globalization requestioncoding = "us-ascii"  responseencoding = "iso-8899-1"/>
    的“iso-8899-1”改称“gb2312”可以在windows中显示汉字
      

  12.   

    必须 UrlEncode!GB2312并不是解决“正”道。否则,这还只是传递中文,如果传递空格、&符号、不可见的各种奇怪符号等等的时候,不使用 Encode 就会遇到更多问题。因此不论是否有中文、其它符号,都应该使用Encode。当然接受方应该对应地进行 Decode。