我做的一个页面上边有三个linkbutton,用他们控制div的显示,默认显示的是linkbutton1 相关的div,每个div中都有repeater控件,并用aspnetpage分页了,当我点击linkbutton3后显示repeater3中的数据内容,当我点击下一页的时候页面刷新,又显示div1了,我怎么让它继续显示div3中的内容。并且实现下一页的跳转,下边是我用脚本来控制div显示。 不好意思没分了<script type="text/javascript">     
     function changeBody(index){
     switch(index){
     case 1:{
      document.getElementById('iDBody1').style.display = "";
      document.getElementById('iDBody2').style.display = "none";
      document.getElementById('iDBody3').style.display = "none";
     }break;
     case 2:{
      document.getElementById('iDBody1').style.display = "none";
      document.getElementById('iDBody2').style.display = "";
      document.getElementById('iDBody3').style.display = "none";
     }break;
     case 3:{
      document.getElementById('iDBody1').style.display = "none";
      document.getElementById('iDBody2').style.display = "none";
      document.getElementById('iDBody3').style.display = "";
     }break;
     
  }

解决方案 »

  1.   

    用个隐藏域接受下你当前显示的是第几个DIV的下标,然后每次要刷新页面的情况下,后台执行下你那JS
      

  2.   

    你的linkbutton是服务器控件吧,不要用服务器控件,你这里不就是点击一个链接显示相应的内容嘛
    用服务器控件的话,你调试下  看看是不是页面初始化了?
      

  3.   

    用<input type="hidden" id="hidden1" value="" runat="server"/>控件。
    点击链接按钮后将对应数字存入hidden1内,单击“下一页”时显示数据并在后台执行changeBody(实参)的js方法,实参是hidden1.value。
    可以在页面放一个Literal控件,给其Text属性赋值:"<script>changeBody("+hidden1.value+")</script>"。
      

  4.   

    我改用 <a href="javascript:changeBody(1)">跟踪历史</a> 
           <a href="javascript:changeBody(2)">相同问题</a> 
          <a href="javascript:changeBody(3)">处理过程</a> 
    这样也不行 ,主要是点击分页控件后页面刷新了,
      

  5.   

    刷新后就重新生成页面了,你必须记录js里的index,把这个值传到下一个页面比如
    放个隐藏的textbox,在changeBody里给这个控件赋值
    document.getElementById('<%=textbox.ClientID%>').value =index这样在下一个页面里就能从textbox读到这个值了