DetailPageUrl = "'AP/wQryApPoPayAgeSuppDetail.aspx?DetailPageParam="+Server.UrlEncode(DetailPageParam)+"&currentsaleName=" + Server.UrlEncode(currentsaleName) + "&TimeStr=" + TimeStr + "'";
如代码所示,我要传递3个参数,其中currentsaleName和TimeStr都没问题,但是那个DetailPageParam是一个字符串,里面的格式为(参数1,参数2,参数3),全部用","分割,而且有的参数还是汉字。直接传的话,总是出现问题,URL无法跳转,请问各位大神这个该如何解决呢?ASP.NET  页面传值

解决方案 »

  1.   

    页面A ->页面B,页面A 中对参数des 加密,页面B对参数des解密 。
      

  2.   

    愿闻其详,加密后就可以直接传输带","的URL了?还有就是转义字符行不通吗?
      

  3.   

    你可以看一下des加密的结果~~
      

  4.   

    你的原来语句我就简写了。
    假如页面A传给页面B是这个样子滴: 
    B.aspx?DetailPageParam=abcdefg,12345,测试数据那么你对 “abcdefg,12345,测试数据”进行des加密,
    这个时候就是这个样子滴:B.aspx?DetailPageParam=des("abcdefg,12345,测试数据")在B页面中,
    string dpp=Request.QueryString["DetailPageParam"].ToString();//获取
    string DetailPageParam=Eny(dpp);//解密
    剩下的具体几个逗号,几个参数再按照你的意思去分就是。des 加密后,数据基本上就由 “abcdefg,12345,测试数据”变成了 “Abddkeljsdflial= ”这个样子,
    这个样子的数据没问题了吧!
      

  5.   

    比如原来的数据位 “各种测试啊98723,这个是字母和数字了abcdekljl12334,klsjdfoil”
    加密后的数据为“5vesfixsqMwbZhxvA2On6/GsixLj7fFt1JecwdLOgymMyyBlYI0Sp1qKWln9h7hZMbnA4ZdOCqW/aKsuMEoZckm8roEMzmk1UP8b/RymhaQ=”
    这时候,“/”有可能会出错,你把加密的数据中的字符“/”换成一个其他的字符“$”即可