AspNetPager7.3.2版本控件分页实例

AspNetPager7.3.2版本控件分页实例

下载AspNetPagerhttp://www.webdiyer.com/Controls/AspNetPager

 

AspNetPager.dllAspNetPager.xml文件复制到asp.net网站根目录下的bin文件夹下。(或者添加网站的“添加应用”)

 

前台页面AspNetPager732.aspx代码:

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AspNetPager732.aspx.cs"Inherits="XXH_FCKeditor.AspNetPager732" %>

 

<%@ 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">

    <title>AspNetPager分页</title>

</head>

<body>

    <form id="form1" runat="server">

<div>

 

        <webdiyer:AspNetPager ID="AspNetPager1" runat="server" AlwaysShow="True" OnPageChanged="AspNetPager1_PageChanged" UrlPaging="true" NumericButtonTextFormatString="[{0}]"ShowCustomInfoSection="left" PageSize="3">

        <%--//总是显示分页控件,即使要分页的数据只有一页//分页发生改变时触发事件//通过URL传递分页信息的方式来分页。如果设为true,禁用ViewState也能达到效果。如果设置为false,禁用了viewstate则无法实现分页.//页索引数字显示的格式//显示当前页和总页数信息,默认值不显示,为left则将显示在页索引前,为right则为页索引后--%>

        </webdiyer:AspNetPager>

 

        <asp:Repeater ID="Rep_ReadingPager" runat="server">

            <HeaderTemplate><div style="height:40pxfont-weight:300font-family:华文楷体font-size:40px;background-color:Greentext-align:center;">博客文章阅读</div></HeaderTemplate>

            <ItemTemplate>

                <div style="height:5pxbackground-color:#00FF00;"></div>

                <div style="height:30px;"><a href="~/Login.aspx" target="_self">首页</a>>><%# Eval("Title")%>&nbsp;&nbsp;|&nbsp;&nbsp;副标题:<%# Eval("subTitle")%>&nbsp;&nbsp;|&nbsp;&nbsp;编辑:<%# Eval("Editor")%>&nbsp;&nbsp;|&nbsp;&nbsp;作者:<%# Eval("Author")%>&nbsp;&nbsp;|&nbsp;&nbsp;时间:<%# Eval("Modifytime")%></div>

                <div><%# Eval("[Content]")%></div>

            </ItemTemplate>

            <FooterTemplate><div style="height:20pxbackground-color:#00FF00;"></div></FooterTemplate>

        </asp:Repeater>

    </div>

    </form>

</body>

</html>

 

 

 

 

 

 

 

后台AspNetPager732.aspx.cs代码:

 

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Linq;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

using System.Data.SqlClient;

 

namespace XXH_FCKeditor

{

    public partial class AspNetPager732 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!this.Page.IsPostBack)

            {

                BindGridView();

                //Rep_getArticles();  //原来的普通数据绑定方法调用

            }

        }

 

        public void BindGridView()

        {

            string sql = "select * from Articles";//自定义的SQL语句

            int recordcount;

            DataSet ds = GetPage(sql, this.AspNetPager1.CurrentPageIndex, this.AspNetPager1.PageSize, outrecordcount);

            this.AspNetPager1.RecordCount = recordcount;

            this.Rep_ReadingPager.DataSource = ds;

            this.Rep_ReadingPager.DataBind();

            AspNetPager1.CustomInfoHTML = "记录总数:<b>" + AspNetPager1.RecordCount.ToString() + "</b>";

            AspNetPager1.CustomInfoHTML += 总页数:<b>" + AspNetPager1.PageCount.ToString() + "</b>";

            AspNetPager1.CustomInfoHTML += 当前页:<font color=\"red\"><b>" + AspNetPager1.CurrentPageIndex.ToString() + "</b></font>";

        }

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

        {

            SqlDataAdapter ada = new SqlDataAdapter(sql, GetConnection());

            DataSet ds = new DataSet();

            int startRow = (currentPage - 1) * pagesize;

            ada.Fill(ds, startRow, pagesize, "table");

            recordcount = GetPageRecord(sql);

            return ds;

        }

        public int GetPageRecord(string sql)

        {

            sql = System.Text.RegularExpressions.Regex.Replace(sql, "ORDER BY.*""");

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

            SqlCommand cmd = new SqlCommand(sql, GetConnection());

            cmd.Connection.Open();

            int recordcount = (int)cmd.ExecuteScalar();

            return recordcount;

        }

        private SqlConnection GetConnection()

        {

            return new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ConnectionString);

        }

        protected void AspNetPager1_PageChanged(object sender, EventArgs e)

        {

            BindGridView();

 

        }

 

        //原来的普通Reperter数据绑定

        //public void Rep_getArticles()

        //{

        //    string connection = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;

        //    string sql = "SELECT Title,subTitle,Editor,Author,[Content],Creattime,Modifytime FROM Articles ORDER BY Modifytime DESC";

        //    SqlConnection conn = new SqlConnection(connection);

        //    SqlDataAdapter sda = new SqlDataAdapter(sql, conn);

        //    DataSet ds = new DataSet();

        //    sda.Fill(ds);

        //    Rep_ReadingPager.DataSource = ds;

        //    Rep_ReadingPager.DataBind();

        //}

    }

}

AspNetPager7.2分页控件及Demo源码 分页是Web应用程序中最常用到的功能之一,在ASP.NET中,虽然自带了一个可以分页的DataGrid(asp.net 1.1)和GridView(asp.net 2.0控件,但其分页功能并不尽如人意,如可定制性差、无法通过Url实现分页功能等,而且有时候我们需要对DataList和Repeater甚至自定义数据绑定控件进行分页,手工编写分页代码不但技术难度大、任务繁琐而且代码重用率极低,因此分页已成为许多ASP.NET程序员最头疼的问题之一。 AspNetPager针对ASP.NET分页控件的不足,提出了与众不同的解决asp.net中分页问题的方案,即将分页导航功能与数据显示功能完全独立开来,由用户自己控制数据的获取及显示方式,因此可以被灵活地应用于任何需要实现分页导航功能的地方,如为GridView、DataList以及Repeater等数据绑定控件实现分页、呈现自定义的分页数据以及制作图片浏览程序等,因为AspNetPager控件和数据是独立的,因此要分页的数据可以来自任何数据源,如SQL Server、Oracle、Access、mysql、DB2等数据库以及XML文件、内存数据或缓存中的数据、文件系统等等。 AspNetPager 7.2 版发布 新增属性 PagingButtonLayoutType,可设置分页导航元素(数字页索引、上页、下页、首页和尾页)的布局方式,该属性值是一个PagingButtonLayoutType枚举,通过设置该属性为PagingButtonLayoutType.UnorderedList或PagingButtonLayoutType.Span,允许将这些分页导航元素包含在 与或与标签之间,以便于为这些分页元素应用CSS样式。 新增 PagingButtonClass 与 PagingButtonStyle 属性,可以单独为分页导航按钮(数字页索引、上页、下页、首页和尾页)设置CSS样式; 新增 FirstLastButtonClass 与 FirstLastButtonStyle 属性,可以单独为首页和尾页分页导航按钮设置CSS样式,如果该属性未设置,但指定了PagingButtonClass 与 PagingButtonStyle 属性的值,则首页和尾页按钮样式将使用 PagingButtonClass 与 PagingButtonStyle 属性中指定的样式; 新增 NextPrevButtonClass 与 NextPrevButtonStyle 属性,可以单独为上页和下页分页导航按钮设置CSS样式,如果该属性未设置,但指定了PagingButtonClass 与 PagingButtonStyle 属性的值,则上页和下页按钮样式将使用 PagingButtonClass 与 PagingButtonStyle 属性中指定的样式; 新增 MoreButtonClass 与 MoreButtonStyle 属性,可以单独为更多页(...)分页导航按钮设置CSS样式,如果该属性未设置,但指定了PagingButtonClass 与 PagingButtonStyle 属性的值,则上页和下页按钮样式将使用 PagingButtonClass 与 PagingButtonStyle 属性中指定的样式; 新增属性 ShowMoreButtons ,可以指定是否显示更多页按钮; 新增属性 CurrentPageButtonPosition ,可设置在每次分页后,当前页数字索引在所有的数字页索引中的显示位置,该属性值是一个PagingButtonPosition枚举,对应的值及说明如下: Beginning:当前页数字索引总是显示在所有数字页索引的最前面; End:当前页数字索引总是显示在所有数字页索引的最后面; Center:当前页数字索引总是显示在所有数字页索引的中间; Fixed:默认值,固定不变; 控件的CssClass属性仅应用于控件的窗口元素(div),将不再应用于下属分页元素; 废止属性CenterCurrentPageButton,可以用CurrentPageButtonPosition属性取代; 修改CurrentPageIndexn属性,允许在程序中任何地方以编程方式设置CurrentPageIndex的值来动态指定当前页,直接设置该属性的值时将同时引发PageChanging和PageChanged 事件,实现和点击分页按钮一样的分页功能; 修正了7.1版中设置SubmitButtonImageUrl属性后,Postback回发分页方式情况下点击数字页索引按钮不引发分页事件的bug; 修正了使用Url分页时,如果页面上没有服务器端form控件时无法注册客户端脚本的bug,从7.2版起如果使用Url分页并且ShowPageIndexBox属性没有设置为Never时, AspNetPager控件必须放在 与 标记之间,若使用Url分页并且ShowPageIndexBox为Never时,页面上可以不使用服务器端form控件AspNetPager的主要功能: 1、支持通过Url进行分页AspNetPager除提供默认的类似于DataGrid和GridView的PostBack分页方式外,还支持通过Url进行分页,象大多数asp程序中分页一样, Url分页方式允许用户通过在浏览器地址栏中输入相应的地址即可直接进入指定页面,也可以使搜索引擎搜索到所有分页的页面的内容,因此具有用户友好和搜索引擎友好的优点,关于Url分页与PostBack分页方式的差异,请参考Url与PostBack分页方式的对比。 2、支持Url分页方式下的Url重写(UrlRewrite)功能 Url重写技术可以使显示给用户的Url不同于实际的Url,Url重写技术被广泛应用于搜索引擎优化(SEO)、网站重组后重定向页面路径以及提供用户友好的Url等方面, AspNetPager支持Url重写技术使您可以自定义分页导航的Url格式,实现Url重写; 3、支持使用用户自定义图片做为导航元素: 您可以使用自定义的图片文件做为分页控件的导航元素,而不仅仅限于显示文字内容。 4、功能强大灵活、使用方便、可定制性强: AspNetPager分页控件的所有导航元素都可以由用户进行单独控制,从6.0版起,AspNetPager支持使用主题(Theme)与皮肤(Skin)统一控件的整体样式,配合asp.net 2.0中的DataSource控件AspNetPager只需要编写短短几行代码,甚至无需编写任何代码,只需设置几个属性就可以实现分页功能。 5、增强的 Visual Studio 2005/2008设计时支持 增强的设计时支持使控件在设计时更加直观,易于使用,开发快捷方便。 6、兼容IE6.0+及FireFox 1.5+等浏览器 7、丰富而完整的控件文档和示例项目: 控件附带的完整的帮助文档及示例项目能够帮助您快速上手,熟悉AspNetPager控件的使用,您还可以通过给作者留言以及论坛提问等方式解决控件使用中遇到的问题。 AspNetPager72Src下为AspNetPager组件源码 作者:webdiyer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值