http://www.tjfullrange.com/cpxx/tjxx.aspx?id=43&name=PC%201000这个传的是pc 1000里面的20%是空格!
http://www.tjfullrange.com/cpxx/tjxx.aspx?id=44&name=NYLATRON%20%20NSM%20(PA6%20+%20固体润滑剂)这个传的是NYLATRON NSM (PA6 + 固体润滑剂)  里面的20%也是空格!但是问题就在这里第一个可以正常查询到,但是第2格就查不到了?是不是太长了阿?请教各位前辈有什么解决办法?

解决方案 »

  1.   

    Server.UrlDecodeServer.UrlEncode或是先escape后再传过去如(aaa.aspx?keyword=escape(paramsvalue))
      

  2.   

    理论上,url传过来的参数会自动解码的呀.
      

  3.   

    Server.UrlDecodeServer.UrlEncode或是先escape后再传过去如(aaa.aspx?keyword=escape(paramsvalue))
      

  4.   

    http://www.tjfullrange.com/cpxx/tjxx.aspx?id=44&name=NYLATRON%20%20NSM%20(PA6%20+%20固体润滑剂) 
    ??这个是地址??   里面为什么会有汉字???  要是有汉字肯定穿不过去!
                   httpserver.urldecode
              好象是这样写的!记不清楚了!是用HTTP的哪个!不是用server的哪个!    在解码就可以了!
      

  5.   

    可以用String.Replace()替换,然后再替换回来!方法很土,但是可以用。不过一般页面传值不会传递像中文和空格这样的值,这种传值不安全,一般传id之类的。
    当然也有其他方法:
    服务器端: 
    编码Server.UrlEncode(expression) 
    解码Server.UrlDecode(expression) 
    客户端: 
    编码escape(expression) 
    解码unescape(expression) 
    lz传参时用编码,接收时用解码 
      

  6.   

    string   a   =   "aaaaaaaaaaaaa   dfdf     9     +   76   6   d"; 
                            Response.Redirect("Default2.aspx?name="   +a); 
    接受: 
    string   a=   Request.QueryString["name"].ToString(); 
                            Response.Write(a); 结果为:aaaaaaaaaaaaa   dfdf   9   76   6   d   里面的+号没有了。怎么回事啊?编码解码我式了,不管用啊!