德育量化管理系统

特色功能

ASP.NET技术

Repeater分页程序

作者:admin 来源: 人气: 标签:Repeater 分页

说明:把从数据库中取到的数据赋给PagedDataSource对象的DataSource属性,然后分别设置PagedDataSource对象的AllowPaging属性(允许分页)、PageSIze属性,CurrentPageIndex属性

1、首先在窗体拖入一个 Repeater控件,页面代码如下,红色部分为自行添加代码

<asp:Repeater id="Repeater1" runat="server">
    <ItemTemplate>
       <li>
        <%#DataBinder.Eval(Container.DataItem,"au_fname")%>
        <%#DataBinder.Eval(Container.DataItem,"au_lname")%>
        <%#DataBinder.Eval(Container.DataItem,"phone")%>
       </li>
      </ItemTemplate>
     </asp:Repeater>

2、后台代码

页面载入事件代码

private void Page_Load(object sender, System.EventArgs e)
    {
     // 在此处放置用户代码以初始化页面
     if(!IsPostBack)
     RepeaterDataBind();   
    }

数据绑定方法代码,自定义方法


    private void RepeaterDataBind() {  
        //定义数据连接对象,其中数据库连接字符串是在Web.Config文件中定义的.
          SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["stringConn"].ToString());
        //创建SQL语句
          string sql = "select * from Book order by BookTime DESC";

        //创建数据适配器对象
          SqlDataAdapter da = new SqlDataAdapter(sql, conn);

        //创建DataSet对象
          DataSet ds = new DataSet();
          try {
              da.Fill(ds, "book");

            //创建分页类
              PagedDataSource objPage = new PagedDataSource();

            //设置数据源
              objPage.DataSource = ds.Tables["book"].DefaultView;

            //允许分页
              objPage.AllowPaging = true;

            //设置每页显示条数
              objPage.PageSize = 4;

            //定义变量用来保存当前页索引
              int curPage;

            //判断是否有页面跳转请求
              if (Request.QueryString["Page"] != null)
                  curPage = Convert.ToInt32(Request.QueryString["Page"]);
              else
                  curPage = 1;
              objPage.CurrentPageIndex = curPage - 1;
              this.Label1.Text = "当前页:第 " + curPage.ToString() + " 页";
              if (!objPage.IsFirstPage) {    //定义"上一页"超级连接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引植
                  this.HyperLink1.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage - 1);
              }
              if (!objPage.IsLastPage) {
                  this.HyperLink2.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curPage + 1);
              }
              this.Repeater1.DataSource = objPage;
              this.Repeater1.DataBind();
          }
          catch (Exception error) {
              Response.Write(error.ToString());
          }
      }