先替换为其他字符,到需要获取str的页面再替换回去
如str="jkl" k为特殊字符
则str=str.replace("k","n");
window.open('test.aspx?ok='+str);
在需要获取str的页面取到str后再
str=str.replace("n","k");

解决方案 »

  1.   

    将字符分成两个值传,接收以后再拼在一起。
    super.aspx?OK1=XX&OK2=AAA
      

  2.   

    先用Server.UrlEncode编码在传过去,然后再Server.UrlDecode解码。
      

  3.   

    使用System.Web.HttpUtility.UrlEncode编码:
    例如:
    this.Response.Rediret("test.aspx?tt="+System.Web.HttpUtility.UrlEncode("aaa++bb"));
    在Request["tt"]中得到的就是:"aaa++bb"了。
    你试一下,希望对你有帮助。
      

  4.   

    可是在javascript里好象不能用这个  不是在java里的时候是可以这样做的 我试过
      

  5.   

    javascript:
    encodeURIComponent(encodedURIString)
      

  6.   

    javascript:
    window.open('test.aspx?ok='+encodeURIComponent(str));
    ================
    c#:
    string str=Server.UrlDecode(string(Request.QueryString["ok"]));
      

  7.   

    不好意思,應該是:
    javascript:
    window.open('test.aspx?ok='+encodeURIComponent(str));
    ================
    c#:
    string str=Server.UrlDecode((string)Request.QueryString["ok"]);