asp.net 通过aspnetpager为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>

  ·<a href="#" class="rlk" onclick='window.location.href="DetailNews.aspx?ID=<%#Eval("NewsID") %>"'><%#Eval("NewsTitle") %></a>

  <%#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();

  }