通过aspnetpager为DataList分页

     今天整了半天才把DataList的分页搞定,下面把我的设计过程给大家讲讲:

      前台代码:

 

代码
<div id="newslistdiv">
        
<asp:DataList ID="NewsList" runat="server" Width="820px">
            
<HeaderTemplate>
                
<div>
                    
<img src="../loginimages/newslisthead.gif" alt="" /></div>
            
</HeaderTemplate>
            
<ItemTemplate>
                
<dl>
                    
<dd>
                        ·
<href="#" class="rlk" onclick='window.location.href="DetailNews.aspx?ID=<%#Eval("NewsID") %>"'><%#Eval("NewsTitle"%></a>
                        
&nbsp;&nbsp;&nbsp;<%#Eval("NewsTime""{0:yyyy-MM-dd}")%><br />
                    
</dd>
                
</dl>
            
</ItemTemplate>
        
</asp:DataList>
    
</div>
    
<div style="margin-bottom: 2px;" align="center">
        
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" PageSize="15" FirstPageText=" 首页 "
            LastPageText
=" 尾页 " NextPageText=" 下一页 " OnPageChanged="AspNetPager1_PageChanged"
            PrevPageText
=" 上一页 " Width="100%" AlwaysShow="true" CssClass="anpager">
        
</webdiyer:AspNetPager>
    
</div>

 

      后台代码:

 

代码
protected void Page_Load(object sender, EventArgs e)
        {
            
if (!IsPostBack)
            {
                BindNewsDatalist();
            }
        }
        //绑定DataList的数据源
        
private void BindNewsDatalist()
        {
            FJDWS.BusinessLogic.LNewsManager lnewsmanager 
= new FJDWS.BusinessLogic.LNewsManager();

            
this.AspNetPager1.RecordCount = lnewsmanager.FindAll().Count;
            PagedDataSource pds 
= new PagedDataSource();    //定义一个PagedDataSource类来执行分页功能
            pds.DataSource = lnewsmanager.FindAll();
            pds.AllowPaging 
= true;
            pds.CurrentPageIndex 
= AspNetPager1.CurrentPageIndex - 1;
            pds.PageSize 
= AspNetPager1.PageSize;

            
this.NewsList.DataSource = pds;
            NewsList.DataBind();
        }

        
protected void AspNetPager1_PageChanged(object src, EventArgs e)
        {
            
//AspNetPager1.CurrentPageIndex = e.NewPageIndex;
            BindNewsDatalist();
        }

 

 

posted @ 2009-12-10 11:08  kerry1986  阅读(278)  评论(0编辑  收藏  举报