AspNetPager 使用Demo

1、Demo网址
              http://blog.csdn.net/emoheshang/article/details/4212909
              http://www.cnblogs.com/zhangyi85/archive/2008/04/12/1150669.html
 
 
 Repeater使用 AspNetPager分页控件
 
 前台页面:
 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Paging.aspx.cs" Inherits="Paging" %>

 <%@ 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>无标题页</title>
 </head>
 <body style="text-align: center">
  <form id="form1" runat="server">
  <div style="text-align: center">
   <asp:GridView ID="GridView1" runat="server" PageSize="3" Width="379px" AutoGenerateColumns="False">
    <Columns>
     <asp:BoundField DataField="proID" />
     <asp:BoundField DataField="proName" />
     <asp:BoundField DataField="proNum" />
     <asp:BoundField DataField="proPrice" />
     <asp:BoundField DataField="totalPrice" />
    </Columns>
   </asp:GridView>
  
  </div>
   &nbsp;
   &nbsp;&nbsp;<br />
   <br />
   <webdiyer:AspNetPager ID="pageBind" runat="server" AlwaysShow="True" FirstPageText="<<"
    HorizontalAlign="Right" LastPageText=">>" NextPageText=">" NumericButtonCount="5"
    NumericButtonTextFormatString="-{0}-" OnPageChanged="pageBind_PageChanged" PageSize="5"
    PrevPageText="<" ShowBoxThreshold="2" ShowCustomInfoSection="Left" ShowInputBox="Always"
    Width="382px">
   </webdiyer:AspNetPager>
  </form>
 </body>
 </html>
 
 
 
2、事例 网址:
                http://www.cnblogs.com/LittleFeiHu/archive/2011/02/23/1962297.html
 
 
 后台:
  protected void Page_Load(object sender, EventArgs e)
    {
        Bind();
    }
    private void Bind()
    {
        int pageindex = 1;
        int pagenum = AspNetPager1.PageSize;
        if (Request["page"] != null)
        {
            pageindex =Convert.ToInt32(Request["page"]);
        }
        DataSet ds = new DataSet();
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString ());
        SqlConnection con1 = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ToString());
        SqlDataAdapter sda = new SqlDataAdapter("select top (@pagenum) * from pagetest where id not in (select top  (@pagenum*(@pageindex-1)) id from pagetest)", con);
        sda.SelectCommand.Parameters.AddWithValue("pagenum",pagenum);
        sda.SelectCommand.Parameters.AddWithValue("pageindex",pageindex);
        sda.Fill(ds);
        SqlCommand cmd = new SqlCommand("select count(*) from pagetest", con1);
        con1.Open();
        AspNetPager1.RecordCount =Convert.ToInt32(cmd.ExecuteScalar());
        con.Close();
        AspNetPager1.CustomInfoHTML = "共" + AspNetPager1.RecordCount + "条记录      " + AspNetPager1.CurrentPageIndex + "/" + AspNetPager1.PageCount;
        GridView1.DataSource = ds.Tables[0].DefaultView;
        GridView1.DataBind();
    }
    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
        Bind();
    }

 
 
 深入分析CurrentPageIndex、RecordCount、 PageCount、 PageSize:

pagecount:

public int PageCount
{
    get
    {
        if (this.RecordCount == 0)
        {
            return 1;
        }
        return (int) Math.Ceiling((double) (((double) this.RecordCount) / ((double) this.PageSize)));
    }
}

recordcount:

public int RecordCount
{
    get
    {
        if (this.cloneFrom != null)
        {
            return this.cloneFrom.RecordCount;
        }
        object obj2 = this.ViewState["Recordcount"];
        if (obj2 != null)
        {
            return (int) obj2;
        }
        return 0;
    }
    set
    {
        this.ViewState["Recordcount"] = value;
    }
}

CurrentPageIndex:

public int CurrentPageIndex
{
    get
    {
        if (this.cloneFrom != null)
        {
            return this.cloneFrom.CurrentPageIndex;
        }
        object obj2 = this.ViewState["CurrentPageIndex"];
        int num = (obj2 == null) ? 1 : ((int) obj2);
        if ((num > this.PageCount) && (this.PageCount > 0))
        {
            return this.PageCount;
        }
        if (num < 1)
        {
            return 1;
        }
        return num;
    }
    set
    {
        int pageCount = value;
        if (pageCount < 1)
        {
            pageCount = 1;
        }
        else if (pageCount > this.PageCount)
        {
            pageCount = this.PageCount;
        }
        this.ViewState["CurrentPageIndex"] = pageCount;
    }
}

PageSize:

public int PageSize
{
    get
    {
        int num;
        if ((!string.IsNullOrEmpty(this.UrlPageSizeName) && !base.DesignMode) && (int.TryParse(this.Page.Request.QueryString[this.UrlPageSizeName], out num) && (num > 0)))
        {
            return num;
        }
        if (this.cloneFrom != null)
        {
            return this.cloneFrom.PageSize;
        }
        object obj2 = this.ViewState["PageSize"];
        if (obj2 != null)
        {
            return (int) obj2;
        }
        return 10;
    }
    set
    {
        this.ViewState["PageSize"] = value;
    }
}


AspNetPager不同版本中的变化:
 http://www.cnblogs.com/mywebworld/archive/2009/10/20/1572778.html

AspNetPager控件及Demo源码 v7.02介绍:<br>asp.net免费分页控件 AspNetPager 7.0.2版的示例项目及源码,使用VS2008开发,可以使用VS2005或VS2008打开查看,打开方式:从VS2005或VS2008文件菜单中选择 打开...站点,然后浏览到示例项目解压后的文件夹即可。<br>注意:该控件只支持.NET Framework 2.0、3.0及3.5版<br>其中AspNetPager702Src为AspNetPager7.02的分页控件源码,App_Data为所用到的数据库文件,App_Code下为数据库连接类<br>AspNetPager的主要功能有:<br>1、支持通过Url进行分页:<br>AspNetPager除提供默认的类似于DataGrid和GridView的PostBack分页方式外,还支持通过Url进行分页,象大多数asp 程序中分页一样, Url分页方式允许用户通过在浏览器地址栏中输入相应的地址即可直接进入指定页面,也可以使搜索引擎搜索到所有分页的页面的内容,因此具有用户友好和搜索引擎友好的优点,关于Url分页与PostBack分页方式的差异,请参考Url与PostBack分页方式的对比。<br>2、支持Url分页方式下的Url重写(UrlRewrite)功能<br>Url重写技术可以使显示给用户的Url不同于实际的Url,Url重写技术被广泛应用于搜索引擎优化(SEO)、网站重组后重定向页面路径以及提供用户友好的Url等方面, AspNetPager支持Url重写技术使您可以自定义分页导航的Url格式,实现Url重写;<br>3、支持使用用户自定义图片做为导航元素:<br>您可以使用自定义的图片文件做为分页控件的导航元素,而不仅仅限于显示文字内容。<br>4、功能强大灵活、使用方便、可定制性强:<br>AspNetPager分页控件的所有导航元素都可以由用户进行单独控制,从6.0版起,AspNetPager支持使用主题(Theme)与皮肤(Skin)统一控件的整体样式,配合asp.net 2.0中的DataSource控件,AspNetPager只需要编写短短几行代码,甚至无需编写任何代码,只需设置几个属性就可以实现分页功能。<br>5、增强的 Visual Studio 2005/2008设计时支持<br>增强的设计时支持使控件在设计时更加直观,易于使用,开发快捷方便。<br>6、兼容IE6.0+及FireFox 1.5+等浏览器<br>7、丰富而完整的控件文档和示例项目:<br>控件附带的完整的帮助文档及示例项目能够帮助您快速上手,熟悉AspNetPager控件的使用,您还可以通过给作者留言以及论坛提问等方式解决控件使用中遇到的问题。<br><br>Demo的主要功能有:<br>基本功能<br>分页按钮属性效果<br>使用自定义信息区<br>居中当前页索引按钮<br>Repeater分页<br>DataList分页<br>Url分页<br>使用Url重写技术<br>Url逆向分页<br>N层结构应用<br>使用XML文件数据源<br>图片浏览示例<br>使用AccessDataSource<br>使用SqlDataSource<br>使用ObjectDataSource<br>自定义数据呈现逻辑<br>使用图片按钮<br>查询结果分页<br>查询结果Url分页<br>克隆属性及事件<br>页索引输入/选择框<br>自定义导航按钮<br>在用户控件中实现分页<br>Asp.net Ajax支持<br>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值