一个栏目列表分页的解决方案
比如有一个模板栏目列表A,一般的显示方法如下:
内容列表:
.lsdjfsjdlf
.sdfsdfsdfsd
.sdfsdfsdf
.sdfsdfsd
总数:98 共30页 每页:15 当前:2 首页 上一页 下一页 尾页
1:如果要显示成上面的样子,我想的是:
getlist()
总数:getcount() 共getC()页 每页:getP() 当前:getcu() get1() get2() get3() get4()
当我执行getlist()时,下面分页的数据放放缓存中,然后页面执行下面的函数时就去取缓存,这样是可以的.
问题是如果是这样显示:
总数:98 共30页 每页:15 当前:2 首页 上一页 下一页 尾页
内容列表:
.lsdjfsjdlf
.sdfsdfsdfsd
.sdfsdfsdf
.sdfsdfsd
这个时候是先执行上面分页的一些函数,而具体的数据在缓存中还没有的,结果就出错啊.
所以问一下各位是如果解决类似于这样的分页的??????
-----
ps:或者大虾们有更好的解决方案吗?
------解决方案--------------------页面静态化,做模板生成还不如URLRewrite下
urlRewrite参考 http://www.itjj.net/tech/biancheng/AspNet/20061226/88973.html
希望对你有帮助
------解决方案--------------------思路没错,按理不会出这样的错误,检查下程序吧
------解决方案--------------------我说一下我的思路,你把数据取出后放到一个数组中.这样你可以得到数组的长度,再定义一个常量为每页显示的页数.
这样你就可以写一些算法.我们是用AJAX做的.第一次取出数据后放到数组中,点其它页的时候就是一个局部局部刷新.
下面是我们写的代码你参照一下.
//显示"最热形像"DIV
function GetHotActorlist()
{
if(actorHotArray.length<1)
{
var url = encodeURI(SBasePath+'/action/actor/GetTopHotActors.aspx');
var pars = encodeURI('');
var myAjax = new Ajax.Request(url,{method: 'get', parameters: pars,onComplete: sGetHotActorlist,onFailure:fGetHotActorlist});
}
else
{
ShowHotActorlistPageContent('1');
}
}
//获取"最热形像"信息成功
function sGetHotActorlist(o)
{
actorHotArray=new Array();
actorHotArray = MapActorExts(o);
ShowHotActorlistPageContent('1');
}
//显示出最热形像列表
function ShowHotActorlistPageContent(page)
{
PageIndex=parseInt(page);
if(PageIndex<1)
PageIndex=1;
var pos=(PageIndex-1)*10;
if(pos>=actorHotArray.length)
{
pos=0;
}
var cStr="";
var end=(pos+10>actorHotArray.length)?actorHotArray.length:pos+10;
for(var i=pos;i<end;i++)
{
cStr += "<div class='listMod'>";
(i%2==0)?cStr += "<div class='modCon1 clearfix'>":cStr += "<div class='modCon clearfix'>";
cStr += "<div class='modPic'><a href='"+SBasePath+"/actor/"+actorHotArray[i].ActorSNO+"/' target='_blank'><img src='"+SBasePath+actorHotArray[i].ShrinkImg +"' width='81' height='81' border='0' class=''/></a></div>";
cStr += "<div class='modText'><span class='date'>"+actorHotArray[i].ActorDate+"</span>";
cStr += "<h4><a href='"+SBasePath+"/actor/"+actorHotArray[i].ActorSNO+"/' title='"+actorHotArray[i].Name+"' target='_blank'>" + Getsubstr(actorHotArray[i].Name,50)+"</a></h4>";
cStr += "<p class='Mtext'>介绍:<span class='textL'>"+Getsubstr(actorHotArray[i].ActorDesc,70)+"</span></p>";
cStr += "<p>支持数:<span class='textNo'>"+actorHotArray[i].AgreeCount+"</span>";
cStr += "浏览数:<span class='textNo'>"+actorHotArray[i].ViewCount+"</span></p>";
cStr +="<div class='conLine'><div class='work'>"
//+"<a href='#'><img src='"+SBasePath+"/images/right.jpg' border='0' class='rit'/></a>"
+ "<ul><div id