比如:   
  a.aspx?id=iusaif+2liii   
  这样在另一个页面接收ID的值就变成   
  iusaif   2liii   
      search.aspx?bookTitle=c++编程(第二版)
  这样在另一个页面接收ID的值就变成   
  c  编程 第二版   那些特殊字符 就没有了变成了空格,
  全角的括号又可以识别 英文的括号就不行,
  解密的时候,就会出现问题   怎么还原成原来的样子?

解决方案 »

  1.   

      Server.UrlDecode(string);
      Server.UrlEncode(string);
      

  2.   

    我是在客户端输入用的是    
        location.href = "/Search.aspx?search="+escape(document.getElementById("txtBox").value);
    在服务器端用
        string str = Request.QueryString["search"];
        string a =  Server.UrlDecode(str); 
        string b = Server.UrlEncode(str);
    这两种方法都会出现不识别 特殊字符的情况!
      

  3.   

     HttpUtility.UrlEncode("ss",System.Text.Encoding.UTF8);//加密
            HttpUtility.UrlDecode("ssss", System.Text.Encoding.UTF8);//解密
      

  4.   

    写javascript时用:encodeURIComponent()来编码参数,decodeURIComponent()解码
    写服务器端代码时用:HttpUtility.UrlEncode()来编码,HttpUtility.UrlDecode()解码
      

  5.   

      比如:  
      a.aspx?id=iusaif+2liii  
      这样在另一个页面接收ID的值就变成  
      iusaif  2liii  
          search.aspx?bookTitle=c++编程(第二版) 
      这样在另一个页面接收ID的值就变成  
      c  编程 第二版   那些特殊字符 就没有了变成了空格, 
      全角的括号又可以识别 英文的括号就不行, 
      解密的时候,就会出现问题  怎么还原成原来的样子? 字符串是用户在客户端输入的 ,文本框是在母版中,我用的方法是 :   
        location.href = "/Search.aspx?search="+escape(document.getElementById("txtBox").value); 在search.aspx 页面中怎么样可以获得 search 后面的参数 并可以识别特殊字符?
    在客户端 有没有其他的办法?可以将母版页中的文本框中用户输入的信息传到其他页面?