有个页面的效果和拍拍的产品展示页面一样,
有大图和列表的二种显示,用CHECKBOX来调用JS控制页面的切换
数据绑定用了二个DATALIST,分页是用pagedatasouse类
现在的问题是,当我点小图上翻到第二页或后面一页,再切换到大图页面,然后再翻第一页的时候,页面会自己切换到小图模式去,
附JS代码:
 <script language="javascript"> 
function show_max_min2(m){
  var minslt=document.getElementById("<%= minslt.ClientID %>");
  var maxslt=document.getElementById("<%= maxslt.ClientID %>");
  var minbox=document.getElementById("minbox");
  var maxbox=document.getElementById("maxbox");
  if(m==0){
  maxslt.checked=false;
  minbox.style.display="block";
  maxbox.style.display="none";
}
  else if(m==1){
  minslt.checked=false;
  minbox.style.display="none";
  maxbox.style.display="block";
}
}前台代码:
 <asp:CheckBox name="minslt" id="minslt" text="小图显示模式" onclick="show_max_min2(0);" runat="server" />
          <asp:CheckBox name="maxslt" id="maxslt" text="大图显示模式" onclick="show_max_min2(1);" runat="server" />
      </div>
      <!--小图标显示-->
      <ul class="modulea" id="minbox">
                     <asp:DataList ID="showProductsList" runat="server" RepeatColumns="1" RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False" Width="800px">
                    <ItemTemplate>
                     <li>
                     ....数据绑定...                    
                     </li>
                    </ItemTemplate>
                </asp:DataList>
      </ul>
      <!--大图标显示-->
      <ul class="modulea" style="display:none" id="maxbox">
                <asp:DataList ID="showProductsList2" runat="server" RepeatColumns="2" RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False" Width="564px">
                    <ItemTemplate>
                     <li>
                            ........数据绑定........
                    </li>
                    </ItemTemplate>
                </asp:DataList>
                   </ul>
请各位高手帮忙出出主意,倒底是怎么回事???!!!急呀,明天就要交任务了,老板天天跑来看进度...呜....

解决方案 »

  1.   

    楼主的问题是应该是在分页时候,应该有一个变量是控制大图还是小图的。
    上面的程序没有细看。
    楼主试着在分页的地方加一个变量,如aa.aspx?page=1&isBig=1
    这里如果选择了大图显示,那么isBig就是1如果不是就是0这样来判断
    因为你分页是一直以小图进行分页的所以一变页就变成小图了。楼主可以在分页的变量中加上一个变量
      

  2.   

    这个很容易实现的
    别用JS来控制显示
    切换的都换用LINKBUTTON来显示
    linkbutton1事件里面
    showProductsList2.visible=false;
    showProductsList1.visible=true;
    linkbutton2事件里面
    showProductsList2.visible=true;
    showProductsList1.visible=false;
    因为JS只控制客户端页面显示,你其实并没有改变控件本身的状态,所以你一翻页,服务器显示的还是页面载入时的状态
    除非你每次翻页都要调用一下这个控制显示的JS函数