比如有一个模板栏目列表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:或者大虾们有更好的解决方案吗?

解决方案 »

  1.   

    页面静态化,做模板生成还不如URLRewrite下 
    urlRewrite参考 http://www.itjj.net/tech/biancheng/AspNet/20061226/88973.html
    希望对你有帮助
      

  2.   

    我说一下我的思路,你把数据取出后放到一个数组中.这样你可以得到数组的长度,再定义一个常量为每页显示的页数.
    这样你就可以写一些算法.我们是用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='"+"ProductSpace"+actorHotArray[i].UserId+"'></div>";
            
             cStr +="</ul></div><div class='oprate'><ul><li class='tbPic6'><a href='Javascript:void(0)' onclick=\"ActorCopyDlg('"+actorHotArray[i].ActorSNO+"')\">复制</a></li>"
                  +"<li class='yaoqing'><a href='Javascript:void(0)' onclick=\"AlarmDlg('"+actorHotArray[i].ActorSNO+"','1','"+actorHotArray[i].Name+"')\">举报</a></li><li class='tuijian'><a href='Javascript:void(0)' onclick=\"ShareDlg('1','"+actorHotArray[i].ActorSNO+"','actor')\">推荐</a></li>"
                  +"<li class='shoucang'><a href='Javascript:void(0)' onclick=\"ActorCollectDlg('"+actorHotArray[i].Name+"','1','"+actorHotArray[i].ActorSNO+"')\">收藏</a></li></ul></div></div></div></div></div>";
        }
        
       
        
       cStr += " <p class='nactiv' id='actorListHotPage'></p>";
       $("tabActor1Page").innerHTML=cStr;
       $("actorListHotPage").innerHTML= GetPageStrUseFunc(actorHotArray.length,10,page,"ShowHotActorlistPageContent")+"&nbsp;&nbsp;<a href='"+SBasePath+"/actor/list/' target='_blank'>更多</a>";
       
       for(var i=0;i<actorHotArray.length;i++)//获取最热形像相对应的4副作品
       {
         GetForProduct(actorHotArray[i].UserId);
        
       }}
    //获取"最热形像"信息失败
    function fGetHotActorlist(o)
    {
       $("actorListHotContent").innerHTML=o.status + " " + o.statusText;
    }