知识大全 用AspNetPager控件最详细的分页实现方法

Posted 语句

篇首语:善行无辙迹、善言无瑕谪。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用AspNetPager控件最详细的分页实现方法相关的知识,希望对你有一定的参考价值。

用AspNetPager控件最详细的分页实现方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  祝贺一下~好不容易把分页做出来了 之前都是用GridView自带的分页 版式难看不说 还极不优化 一次取出所有记录 然后进行假分页

  现在用aspNetPager控件做出的真分页 就好多了 不过还有改进的地方 SQL语句如果换成存储过程效率会更高

  首先在SqlHelper cs(DAL层中的数据库助手类 用于写可以复用的基本增删查改方法)中加上以下代码

  Code

  /**//// <summary>

  /// 获取分页数据

  /// </summary>

  /// <param name= sql >sql语句</param>

  /// <param name= currentPage >当前页</param>

  /// <param name= pagesize >每页显示数</param>

  /// <param name= recordcount ></param>

  /// <returns></returns>

  public static DataSet GetPage(string sql int currentPage int pagesize out int recordcount)

  

  openCon();

  sqlDs Clear();

  sqlDa = new SqlDataAdapter(sql sqlConn);

  int startRow = (currentPage ) * pagesize;

  sqlDa Fill(sqlDs startRow pagesize table );

  recordcount = GetPageRecord(sql);

  closeCon();

  return sqlDs;

  

  //返回总的记录数

  public static int GetPageRecord(string sql)

  

  openCon();

  sql = Regex Replace(sql order by * );

  sql = select count(*) from ( + sql + ) as temp ;

  sqlCmd = new SqlCommand(sql sqlConn);

  int recordcount = int Parse(sqlCmd ExecuteScalar() ToString());

  closeCon();

  return recordcount;

  

  然后在BLL层新建一个PageManager cs的分页操作类 封装一下DAL层方法

  Code

  /**//// <summary>

  /// 获取分页数据

  /// </summary>

  /// <param name= sql >sql语句</param>

  /// <param name= currentPage >当前页</param>

  /// <param name= pagesize >每页显示数</param>

  /// <param name= recordcount ></param>

  /// <returns></returns>

  public static DataSet GetPage(string sql int currentPage int pagesize out int recordcount)

  

  return SQLHelper GetPage(sql currentPage pagesize out recordcount);

  

  需分页的数据绑定处是这样的

  Code

  <asp:Repeater ID= repNewsList runat= server >

  <ItemTemplate>

  <tr>

  <td align= center ><a list aspx?caid=<%# Eval( caId ) %> ><%# Eval( name ) %></a></td>

  <td align= center ><%# Eval( createTime ) %></td>

  </tr>

  </ItemTemplate>

  </asp:Repeater>

  然后在绑定代码下方加上分页控件(当然这个可以随便放 怎么好看怎么放)

  Code

  <! 分页控件 >

  <div >

  <webdiyer:AspNetPager ID= AspNetPager runat= server AlwaysShow= True UrlPaging= true

  FirstPageText= 首页 LastPageText= 末页 NextPageText= 下一页 NumericButtonCount=

  onpagechanged= AspNetPager _PageChanged PagingButtonSpacing= px NumericButtonTextFormatString= [ ]

  PRevPageText= 上一页 SubmitButtonText= Go TextAfterPageIndexBox= 页

  TextBeforePageIndexBox= 转到 ShowCustomInfoSection= Left

  CustomInfoHTML= 目前是第%CurrentPageIndex%页 / 总共%PageCount%页 >

  </webdiyer:AspNetPager>

  </div>

  最后在aspx cs中加上数据的分页绑定方法(这里的SQL语句要根据列表显示的需要进行调整)

  Code

  /**//// <summary>

  /// 绑定带有分页的新闻列表

  /// </summary>

  public void BindRepeater()

  

  int caid = int Parse(Request QueryString[ caid ]);

  string Sql = select * from news where caId= + caid + order by createTime desc ;

  int CurrentPage = AspNetPager CurrentPageIndex;

  int PageSize = AspNetPager PageSize;

  int RecordCount;

  DataSet ds = PageManager GetPage(Sql CurrentPage PageSize out RecordCount);

  AspNetPager RecordCount = RecordCount;

  AspNetPager CustomInfoHTML += 共 + RecordCount + 条新闻</b> ;

  repNewsList DataSource = ds;

  repNewsList DataBind();

  

  别忘了 在page_load调用一下

  protected void Page_Load(object sender EventArgs e)

  

  if (!Page IsPostBack)

  

  BindRepeater();

  

  

  还有分页控件的PageChanged事件里也调用一下

  protected void AspNetPager _PageChanged(object sender EventArgs e)

  

  BindRepeater();

  

  最后再补充一个非常漂亮的翻页样式 清爽超酷型~

  Code

  <style>

   anpager

  

  font size: px;

  

   anpager cpb

  

  background:# F A none repeat scroll ;

  border: px solid #CCCCCC;

  color:#FFFFFF;

  font weight:bold;

  margin: px px ;

  padding: px px ;

  

   anpager a

  

  background:#FFFFFF none repeat scroll ;

  border: px solid #CCCCCC;

  color:# F A ;

  margin: px px ;

  padding: px px ;

  text decoration:none

  

   anpager a:hover

  

  background:# F A none repeat scroll ;

  border: px solid # F A ;

  color:#FFFFFF;

  

  </style>

  然后在AspNetPager中加上以下四个属性 搞定!

  CSSClass= anpager

  CurrentPageButtonClass= cpb

  CustomInfoClass=

cha138/Article/program/ASP/201311/21651

相关参考

知识大全 AspNetPager分页

AspNetPager分页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  前台  代码  <

知识大全 通过aspnetpager为DataList分页

通过aspnetpager为DataList分页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 一个相当独立的通用分页控件c#源码

  通用ASPNET数据分页控件  对于几乎所有的数据表现Web应用来说组织好数据的显示方式避免给用户带来混乱的感觉就是最主要的目标之一每个页面显示条记录当然是可以接受的但每页显示条记录就很容易给用户

知识大全 简单实用的分页类

   一写一个分页类      usingSystem;    &nb

知识大全 JS分页控件 可用于无刷新分页

JS分页控件可用于无刷新分页  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!今天无意看到了这个分页控

知识大全 实例讲解Oracle数据库的分页显示

实例讲解Oracle数据库的分页显示  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixin

知识大全 ASP.NET实现新闻页面的分页功能

ASP.NET实现新闻页面的分页功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 ASP程序实现可以保存参数值的分页功能

ASP程序实现可以保存参数值的分页功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  <%

知识大全 精彩的近乎完美的分页存储过程

  CREATEproceduremain_table_pwqzc  (@pagesizeint  @pageindexint  @docountbit  @this_id)  as  if(@doc

知识大全 Ajax搜索结果页面下方的分页按钮的生成

Ajax搜索结果页面下方的分页按钮的生成  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishix