AspNetPager使用

AspNetPager使用不同于 DataGrid 控件 AspNetPager 分页控件本身并不显示任何数据 而只显示页导航元素 数据在页面上的显示方式与该控件无关 该控件可以为 DataGrid DataList Repeater 以及自定义控件进行分页 配合 Sql 存储过程 分页性能较使用 DataGrid 分页有明显

不同于DataGrid控件,AspNetPager分页控件本身并不显示任何数据,而只显示页导航元素,数据在页面上的显示方式与该控件无关。该控件可以为DataGrid、DataList、Repeater以及自定义控件进行分页,配合Sql存储过程,分页性能较使用DataGrid分页有明显提升,尤其是当数据量大时性能可提升数倍!

AspNetPager 2.0 中新增了通过Url来分页的功能,这使得访问者可以直接输入相应的Url来访问任何页面,并且搜索引擎也可以直接检索每个页面,若使用DataGrid的分页功能,这是无法实现的。

要使用 AspNetPager 分页控件,必须最少指定它的 RecordCount 属性,指定并编写 PageChanged 事件的处理程序。 RecordCount 属性指定要分页的所有数据的总项数,若未指定该值或该值小于等于 PageSize ,则AspNetPager控件不会显示任何内容。 若未指定并编写 PageChanged 事件处理程序,则当用户点击页导航元素或在页索引文本框中手式输入页索引并提交时AspNetPager不会跳转到指定的页。 AspNetPager控件的分页方法和DataGrid基本相同,即在它的 PageChanged 事件处理程序中将传递事件数据的 PageChangedEventArgs 的 NewPageIndex值赋给 AspNetPager的 CurrentPageIndex属性,然后重新将新的数据与数据显示控件绑定。

RecordCount :当页面第一次加载时,应以编程方式将从存储过程或Sql语句中返回的数据表中所有要分页的记录的总数赋予该属性,AspNetPager会将其保存的ViewState中并在页面回发时从ViewState中获取该值,因此避免了每次分页都要访问数据库而影响分页性能。AspNetPager根据要分页的所有数据的总项数和 PageSize 属性来计算显示所有数据需要的总页数,即 PageCount的值。

PageSize :该值获取或设置数据呈现控件每次要显示数据表中的的数据的项数,AspNetPager根据该值和 RecordCount 来计算显示所有数据需要的总页数,即 PageCount的值

 

   /// Index 的摘要说明。
   ///

   public class Index : System.Web.UI.Page
   {

     protected Wuqi.Webdiyer.AspNetPager pager;
     protected System.Web.UI.WebControls.DataGrid dgList;
  
     private void Page_Load(object sender, System.EventArgs e)
     {

       if (!Page.IsPostBack)
       {

         string strConn = ConfigurationSettings.AppSettings[“ConnectionString”];
         SqlConnection myConnection = new SqlConnection(strConn);
         string strsql=”Select count(id) from article”;
         SqlCommand myCommand = new SqlCommand(strsql,myConnection);
         myCommand.CommandType = CommandType.Text;
         SqlDataAdapter myda =new SqlDataAdapter();
         myda.SelectCommand = myCommand;
         DataSet ds = new DataSet();
         myda.Fill(ds,”article”);
         this.pager.RecordCount=System.Convert.ToInt32(ds.Tables[0].Rows[0][0]);
         BindData();
       }

     }

     void BindData()
     {
       string strConn = ConfigurationSettings.AppSettings[“ConnectionString”];
       SqlConnection myConnection = new SqlConnection(strConn);
       string strsql=”Select id,topic from article”;
       SqlCommand myCommand = new SqlCommand(strsql,myConnection);
       myCommand.CommandType = CommandType.Text;
       SqlDataAdapter myda =new SqlDataAdapter();
       myda.SelectCommand = myCommand;
       DataSet ds=new DataSet();
       myda.Fill(ds,pager.PageSize*(pager.CurrentPageIndex-1),pager.PageSize,”article”);
       this.dgList.DataSource=ds.Tables[“article”];
       this.dgList.DataBind();
       //动态设置用户自定义文本内容
       pager.CustomInfoText=”记录总数: “+pager.RecordCount.ToString()+”“;
       pager.CustomInfoText+=” 总页数: “+pager.PageCount.ToString()+”“;
       pager.CustomInfoText+=” 当前页: “+pager.CurrentPageIndex.ToString()+”“;

     }

     #region Web Form Designer generated code
     override protected void OnInit(EventArgs e)
     {

       //
       // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
       //
       InitializeComponent();
       base.OnInit(e);
     }
    
     ///

     /// 设计器支持所需的方法 – 不要使用代码编辑器修改
     /// 此方法的内容。
     ///


     private void InitializeComponent()
     {
       this.pager.PageChanged += new Wuqi.Webdiyer.PageChangedEventHandler(this.pager_PageChanged);
       this.Load += new System.EventHandler(this.Page_Load);

     }
     #endregion

     private void pager_PageChanged(object src, Wuqi.Webdiyer.PageChangedEventArgs e)
     {

       pager.CurrentPageIndex=e.NewPageIndex;
       BindData();
       System.Text.StringBuilder sb=new StringBuilder(”
                 


            


            


            


            
            
            


            

            
            

             runat=”server”

             PageSize=”8″
             NumericButtonCount=”8″
             ShowCustomInfoSection=”left”
             PagingButtonSpacing=”0″
             ShowInputBox=”always”
             CssClass=”mypager”
             HorizontalAlign=”right”
             OnPageChanged=”ChangePage”  
             SubmitButtonText=”转到”
             NumericButtonTextFormatString=”[{0}]”/>
            
            
            
            




































































































 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222820.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午2:57
下一篇 2026年3月17日 下午2:57


相关推荐

  • AndroidO(8.0) 和 Android P(9.0)

    大早上躺床上就索性百度了下p和o发现百度百科的说明还是很简洁易懂的2017年8月22日,谷歌正式发布了Android8.0的正式版,其正式名称为:AndroidOreo(奥利奥) 。奥利奥版安卓的聚焦重点是电池续航能力、速度和安全,让用户更好地控制各种应用程序,加大了对App在后台操作的限制。这种限制在一定程度上延长了安卓机在“睡眠”(Doze)模式下的电池的续航能力,它让不在使用的App进…

    2022年4月7日
    44
  • IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行

    首先,确保IDEA软件正确安装完成,Java开发工具包JDK安装完成。IntelliJIDEA下载地址:https://www.jetbrains.com/idea/download/#section=windowsJDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlIDEA…

    2022年4月13日
    63
  • Total Video Converter v3.71 注册码「建议收藏」

    Total Video Converter v3.71 注册码「建议收藏」软件下载地址:http://70.38.38.52/total-video-converter/tvc.exe注册码:51D79711-859B7A14-BC88D807-8B66F050-309F2

    2022年7月3日
    67
  • SpringMVC工作原理概述

    SpringMVC工作原理概述SpringMVC框架介绍SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而…

    2022年5月15日
    46
  • 关于constexpr

    关于constexprconstexpr 关键字让用户显式的声明函数或对象构造函数在编译期会成为常数 可以用于数组的定义 constexprint nbsp nbsp return10 intmain nbsp nbsp nbsp nbsp inta func nbsp nbsp nbsp nbsp return0

    2026年3月17日
    2
  • Sybase PowerDesigner 12通用的破解方法

    Sybase PowerDesigner 12通用的破解方法

    2021年5月8日
    224

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号