解析asp.net的分页控件

所属分类: 网络编程 / ASP.NET 阅读数: 1459
收藏 0 赞 0 分享

一、说明

  AspNetPager.dll这个分页控件主要用于asp.net webform网站,现将整理代码如下

二、代码

1、首先在测试页面Default.aspx页面添加引用

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

2、写一个Repeater列表控件用于显示数据

<asp:Repeater ID="rptNews" runat="server">
  <ItemTemplate>
    <li>
      <span><%# Eval("time") %></span>
      <a href="NewsShow.aspx?id=<%# Eval("id") %>"><%# Access.GetStringNum( Eval("name").ToString(),15) %></a>
    </li>
  </ItemTemplate>
</asp:Repeater>

3、添加

<webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True" CustomInfoStyle="FONT-SIZE: 12px"
    FirstPageText="首页" HorizontalAlign="Center" inputboxstyle="width:19px" LastPageText="尾页"
    meta:resourcekey="AspNetPager1" NextPageText="下一页" PageSize="10" PrevPageText="上一页"
    Style="font-size: 14px" Width="95%" CssClass="anpager" CurrentPageButtonClass="cpb"
    OnPageChanging="AspNetPager1_PageChanging" ShowBoxThreshold="10">
</webdiyer:AspNetPager>

PageSize属性是用于设置每页显示的数量

4、后台代码绑定

//测试数据源<br>private void ShowNews()
{
  String strSql = String.Format("select * from News order by time asc");
  DataTable dtbl = Access.ExecuteDataTable(strSql, null);
  this.rptNews.DataSource = Access.GetPageDataSource(AspNetPager1, AspNetPager1.CurrentPageIndex - 1, dtbl);
  this.rptNews.DataBind();
}

Access是测试数据库访问类,在最后的Demo中提供给大家

5、分页控件点击页码事件

//分页
protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
{
  this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;
  ShowNews();
} 
 

最后奉上整页代码:

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>asp.net分页控件</title>
 <link href="css/css.css" rel="stylesheet" type="text/css" />
 <style type="text/css">
 .aboutcontentnr{width:100%; height:auto; }
 </style>
</head>
<body>
 <form id="form1" runat="server">
 <div>
  <ul class="news">
   <asp:Repeater ID="rptNews" runat="server">
    <ItemTemplate>
     <li><span>
      <%# Eval("time") %></span><a href="NewsShow.aspx?id=<%# Eval("id") %>"><%# Access.GetStringNum( Eval("name").ToString(),15) %></a></li>
    </ItemTemplate>
   </asp:Repeater>
  </ul>
  <div class="paginator">
   <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True" CustomInfoStyle="FONT-SIZE: 12px"
    FirstPageText="首页" HorizontalAlign="Center" inputboxstyle="width:19px" LastPageText="尾页"
    meta:resourcekey="AspNetPager1" NextPageText="下一页" PageSize="10" PrevPageText="上一页"
    Style="font-size: 14px" Width="95%" CssClass="anpager" CurrentPageButtonClass="cpb"
    OnPageChanging="AspNetPager1_PageChanging" ShowBoxThreshold="10">
   </webdiyer:AspNetPager>
  </div>
 </div>
 </form>
</body>
</html>

Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Default : System.Web.UI.Page
{
 protected void Page_Load(object sender, EventArgs e)
 {
  if (!IsPostBack)
  {
   ShowNews();
  }
 }
 //测试数据源
 private void ShowNews()
 {
  String strSql = String.Format("select * from News order by time asc");
  DataTable dtbl = Access.ExecuteDataTable(strSql, null);
  this.rptNews.DataSource = Access.GetPageDataSource(AspNetPager1, AspNetPager1.CurrentPageIndex - 1, dtbl);
  this.rptNews.DataBind();
 }
 //分页点击页码事件
 protected void AspNetPager1_PageChanging(object src, Wuqi.Webdiyer.PageChangingEventArgs e)
 {
  this.AspNetPager1.CurrentPageIndex = e.NewPageIndex;
  ShowNews();
 }
}

三、Demo

  AspNetPager(dll)

  AspNetPage(Demo)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,同时也希望多多支持脚本之家!

更多精彩内容其他人还在看

解析如何利用一个ASP.NET Core应用来发布静态文件

本文主要通过一些简单的实例来体验一下如何在一个ASP.NET Core应用中发布静态文件。针对不同格式的静态文件请求的处理,ASP.NET Core为我们提供了三个中间件,它们将是本系列文章论述的重点。有需要的朋友可以看下
收藏 0 赞 0 分享

ASP.NET MVC下的四种验证编程方式[续篇]

ASP.NET MVC支持四种服务端验证的编程方式(“手工验证”、“标注ValidationAttribute特性”、“让数据类型实现IValidatableObject或者IDataErrorInfo”),那么在ASP.NET MVC框架内部是如何提供针对这四种不同编程方式的支
收藏 0 赞 0 分享

[Asp.Net MVC4]验证用户登录实现实例

这篇文章主要介绍了[Asp.Net MVC4]验证用户登录实现实例,这里整理了详细的代码,具有一定的参考价值,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

详解ASP.NET MVC的筛选器

ASP.NET MVC提供了四种类型的筛选器(AuthorizationFilter、ActionFilter、ResultFilter和ExceptionFilter),本篇文章对其进行一一介绍,需要的朋友来看下吧
收藏 0 赞 0 分享

.net decimal保留指定的小数位数(不四舍五入)

大家都知道decimal保留指定位数小数的时候,.NET自带的方法都是四舍五入的。那么如何让decimal保留指定位数小数的时候不四舍五入呢,下面通过这篇文中的示例代码来一起看看吧。
收藏 0 赞 0 分享

VS2015 搭建Asp.net core开发环境的方法

最近想在vs2015体验下.net core,折腾了两天终于把环境弄好了。下面这篇文章就给大家分享下我的搭建过程,有需要的朋友们可以参考学习,下面来一起看看吧。
收藏 0 赞 0 分享

详解ASP.NET Core应用中如何记录和查看日志

本篇文章主要介绍了ASP.NET Core应用中如何记录和查看日志,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

详解Asp.net Core 使用Redis存储Session

本篇文章主要介绍了Asp.net Core 使用Redis存储Session ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧。
收藏 0 赞 0 分享

解析asp.net的分页控件

本文主要对AspNetPager.dll这个分页控件进行介绍,它主要用于asp.net webform网站。文章结尾附上实例下载,有需要的朋友可以看下
收藏 0 赞 0 分享

ASP.NET MVC后台参数验证的几种方式

本篇文章主要介绍了ASP.NET MVC后台参数验证的几种方式 ,具有一定的参考价值,有兴趣的可以了解一下。
收藏 0 赞 0 分享
查看更多