有个页面的效果和拍拍的产品展示页面一样,
有大图和列表的二种显示,用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>
请各位高手帮忙出出主意,倒底是怎么回事???!!!急呀,明天就要交任务了,老板天天跑来看进度...呜....
有大图和列表的二种显示,用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>
请各位高手帮忙出出主意,倒底是怎么回事???!!!急呀,明天就要交任务了,老板天天跑来看进度...呜....
上面的程序没有细看。
楼主试着在分页的地方加一个变量,如aa.aspx?page=1&isBig=1
这里如果选择了大图显示,那么isBig就是1如果不是就是0这样来判断
因为你分页是一直以小图进行分页的所以一变页就变成小图了。楼主可以在分页的变量中加上一个变量
别用JS来控制显示
切换的都换用LINKBUTTON来显示
linkbutton1事件里面
showProductsList2.visible=false;
showProductsList1.visible=true;
linkbutton2事件里面
showProductsList2.visible=true;
showProductsList1.visible=false;
因为JS只控制客户端页面显示,你其实并没有改变控件本身的状态,所以你一翻页,服务器显示的还是页面载入时的状态
除非你每次翻页都要调用一下这个控制显示的JS函数