快速业务通道

ASP.NET自定义控件 第十天 实现分页功能的DataList

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20
ate>   <table class="data" cellpadding="0" cellspacing="1"  border="0">         <tr>       <td><asp:Label ID="lblId" runat="server"  Text=''<%#Eval("Id") %>''></asp:Label></td>       <td><asp:Label ID="lblName" runat="server"  Text=''<%#Eval("Name") %>''></asp:Label></td>     </tr>     </table>   </ItemTemplate> </cc:DataList>

3.10 在后置代码中编写BindData方法加载数据,并且在页面不是回发时调用 此方法显示数据:

protected void Page_Load(object sender, EventArgs e)

{

  if (!IsPostBack)

    this.BindData();

}


private void BindData()

{

  DataTable table = new DataTable();


  DataColumn col = new DataColumn("Id");

  table.Columns.Add(col);

  col = new DataColumn("Name");

  table.Columns.Add(col);


  for (int i = dalData.PageIndex * dalData.PageSize; i < 

dalData.PageIndex * dalData.PageSize+dalData.PageSize; i++)

  {

    DataRow row = table.NewRow();

    row[0] = i;

    row[1] = "人员 " + i;


    table.Rows.Add(row);

  }


  dalData.DataSource = table;

  dalData.RecordCount = 30;

  dalData.DataBind();

}

3.11 编写DataList的切换页事件,将新的页码索引赋值给DataList并执行数 据绑定:

protected void dalData_PageIndexChanging(object sender, 

DataListPageEventArgs e)

{

  dalData.PageIndex = e.NewPageIndex;

  this.BindData();

}

3.12 在浏览器中预览效果:

4. 总结

在本次任务中,通过为LinkButton加入了JavaScript脚本使得在客户端点击时 可以引起回发操作,这是通过ClientScriptManager类的 GetPostBackClientHyperlink方法实现的。引起提交后,为了能够在服务器端处 理回发事件,在自定义DataList控件中实现了IPostBackEventHandler接口并在实 现方法中调用了自定义页切换事件,使开发人员能够根据新页码进行数据绑定。 可以看到,现在DataList和GridView都已经实现分页了,但是从某种意义上来说 ,这个解决方案还不够优雅(经常被Java程序员拿来说事的一个词-_-!!),您可 以自行加以改良。

本系列文章配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号