用aspnetpager实现datalist分页

微软的Datalist在做电子相册时候必不可少,但是不支持分页功能,都出到2008了还是没有分页功能,幸好网上有个专业的分页空间aspnetpager,帮我们解决了大问题,说实在话的,网上关于datalist分页的办法很多,但是我觉得都不是很简单实用,有的是url提交,有的是存储过程分页,一个字不方便。下面就是aspnetpager的分页,代码。

1.首先下载aspnetpager控件,http://www.webdiyer.com/download/default.aspx

2.在工具箱里面添加aspnetpager控件。

3.前台引用

 

 

  <asp:DataList runat="server" ID="dlPicList" Width="100%" Border="0" CellSpacing="0" CellPadding="0"  RepeatColumns="4" RepeatDirection="Horizontal">
    
<ItemTemplate>
       
<a href='<%# "PicView.aspx?PicID="+Eval("PicID")%>'><asp:Image ID="imPic" runat="server" ImageUrl='<%# Bind("PicUrl")%>' width="104" height="76" BorderWidth="1" /><br />
                          
<asp:Label runat="server" ID="lblTitle"  Text='<%# Bind("DisTitle")%>'></asp:Label></a>
    
</ItemTemplate>
    
<ItemStyle CssClass="word_green" HorizontalAlign="Center" />
    
</asp:DataList>
   
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"   PageSize="5"  ShowBoxThreshold="1" AlwaysShow="True" FirstPageText="首页" LastPageText="末页"
NextPageText
="下一页" PrevPageText="上一页"  onpagechanging="AspNetPager1_PageChanging">
  
</webdiyer:AspNetPager>

 

 

 4.后台代码

 

 

protected void Page_Load(object sender, EventArgs e)
        
{
            
if (!IsPostBack)
            
{
                BindData();
            }

        }


        
private void BindData()
        
{
         
            conn 
= ConfigurationManager.ConnectionStrings["STRING_SqlConn"].ToString();
            
object[] para = 0, picid };
            DataTable dt 
= DataOperator.TableUseTrans(conn, "SP_Pic_GetView", para);
            DataView dv 
= dt.DefaultView;
            
//对用于分页的类的引用
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource 
= dv;//设置数据源(DataTable类型)
            pds.AllowPaging = true;
            
//每页显示的行数
            
//pds.PageSize = 12;
            
          
            AspNetPager1.RecordCount 
= dv.Count;
            pds.CurrentPageIndex 
= AspNetPager1.CurrentPageIndex - 1;
            pds.PageSize 
= AspNetPager1.PageSize;
            dlPicList.DataSource
= pds;
            dlPicList.DataBind();
            

        }


        
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
        
{
            AspNetPager1.CurrentPageIndex 
= e.NewPageIndex;
            BindData();
        }


posted @ 2008-10-15 09:55  瞪着你的小狗  阅读(953)  评论(0编辑  收藏  举报