我在做一个门户的时候,在首页和二级页面都有一个模糊查询的功能代码是没有错误的
二级页面里面嵌一个框架用于显示内容首页的传值:
http://xxx.xxxx.xxx/ListMain.aspx?SetID=0&CSName=促进
是首页查询传值到二级页面(SetID是判断那个版块传值的,0是模糊查询,1是XX板块) 我在二级页面现将CSName的值取出放入一'hidCSName'中保存
再用onload事件加载页面时js读出该值放到路径中        window.onload=function onloadMain()
        {
            var SetID=document.getElementById('lblSetID').innerText;
            var Ifrm=document.getElementById('Ifrm');
            switch(SetID)
            {
                case "0":
                    var content=document.getElementById('hidCSName').value; 
                    //在这里我加了alert弹出‘促进’,说明值传到了
                    Ifrm.src="ListSelect.aspx?CSName="+content;
                    break;
                case "1": 
                    Ifrm.src="ListNews.aspx";
                    break;
                case "2": 
                    Ifrm.src="ListCourse.aspx";
                    break;
                case "3": 
                    Ifrm.src="Listwlsz.aspx";
                    break;
                case "4": 
                    Ifrm.src="Listxyzp.aspx";
                    break;
            }
        }获得传递路径 http://xxx.xxxx.xxx/ListSelect.aspx?CSName=促进
通过断点,在ListSelect页获得的CSName,为'>]'符号     
同里,二级页面传值
http://xxx.xxxx.xxx/ListMain.aspx?SetID=1      ------首页任意板块进入二级页面
模糊查询中输入‘促进’        function ShowC()
        {
            var SetID=document.getElementById('lblSetID').innerText;
            var Ifrm=document.getElementById('Ifrm');            var content=document.getElementById('hidCSName').value; 
              Ifrm.src="ListSelect.aspx?CSName="+content;
        }
http://xxx.xxxx.xxx/ListSelect.aspx?CSName=促进     "促进"
到显示页面获得的CSName为 ‘促进’

解决方案 »

  1.   

    Ifrm.src="ListSelect.aspx?CSName="+content;
    后加alert(Ifrm.src);看看是什么东西
      

  2.   

    传中文用 Server.UrlEncode编码一下再传,然后再解码
      

  3.   

    经测试是没问题的
    Ifrm.src="ListSelect.aspx?CSName="+content;
    可改为
    Ifrm.src="ListSelect.aspx?CSName="+escape(content);试试,不行的话再找其它原因吧
      

  4.   

    请教下
    我接受参数使用asp.net的Request.QueryString方法应该怎么解码啊
      

  5.   

    完成了,js用escape(content)加密后
    asp.net的Request.QueryString读取会自动解码