zoukankan      html  css  js  c++  java
  • ASP.NET分页控件

    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PageApart.ascx.cs" Inherits="WebApplication2.PageApart" %>
    <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">首页</asp:LinkButton>
    &nbsp;<asp:LinkButton ID="LinkButton2" runat="server" 
        onclick="LinkButton2_Click">上一页</asp:LinkButton>
    &nbsp;<asp:LinkButton ID="LinkButton3" runat="server" 
        onclick="LinkButton3_Click">下一页</asp:LinkButton>
    &nbsp;<asp:LinkButton ID="LinkButton4" runat="server" 
        onclick="LinkButton4_Click">尾页</asp:LinkButton>
    &nbsp;<asp:Label ID="Label1" runat="server" Text="页码提示"></asp:Label>
    &nbsp;<asp:TextBox ID="TextBox1" runat="server" Width="28px">1</asp:TextBox>
    &nbsp;<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        Text="Go" />
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data.SqlClient;
    using System.Data;
    
    namespace WebApplication2
    {
        public partial class PageApart : System.Web.UI.UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    //第一次加载 
                    //显示默认页面的数据
                    GoPage();
                }
            }
    
            int pageSize = 10;
            //页码大小
            public int PageSize
            {
                get { return pageSize; }
                set { pageSize = value; }
            }
           
            
            string table = "";
            //要分页的表名
            public string Table
            {
                get { return table; }
                set { table = value; }
            }
          
           
    
    
            string primaryKey = "";
            //表中主键名
            public string PrimaryKey
            {
                get { return primaryKey; }
                set { primaryKey = value; }
            }
            
           
            string fileds = "*";//stuid,sex,age,name
            //要查询的字段
            public string Fileds
            {
                get { return fileds; }
                set { fileds = value; }
            }
            
            //当前显示的页码
            public int PageIndex
            {
                get { return Convert.ToInt32( TextBox1.Text);  }
                set { TextBox1.Text=value.ToString(); }
            }
    
            #region 分页数据的绑定控件
            GridView gv;
    
            public GridView Gv
            {
                get { return gv; }
                set { gv = value; }
            }
    
            DataList dl;
    
            public DataList Dl
            {
                get { return dl; }
                set { dl = value; }
            }
    
            Repeater rp;
    
            public Repeater Rp
            {
                get { return rp; }
                set { rp = value; }
            }
    
            #endregion
    
    
    
            //分页的sql,30~40
            string sql = "select top {1} {4} from {0} where {3} not in (select top {2} {3} from {0})";
    
            string connStr = System.Configuration.ConfigurationManager.AppSettings["connStr"];
    
    
            public int GetCount(string str)//获取总记录数
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(str,conn);
                object obj = cmd.ExecuteScalar();
                conn.Close();
                return Convert.ToInt32(obj);
            }
    
            public DataTable GetTable(string str)//得到列表
            {
                SqlConnection conn = new SqlConnection(connStr);
                conn.Open();
                SqlCommand cmd = new SqlCommand(str, conn);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                sda.Fill(dt);
                conn.Close();
                return dt;
            }
    
    
            //显示页码对应的数据
            public void GoPage()
            {
                //1.查询总记录数
                string sqlCount = "select count(1) from " + table;
                int count = GetCount(sqlCount);
                int pageCount = (count % pageSize == 0) ? (count / pageSize) : (count / pageSize + 1);
                ViewState["pageCount"] = pageCount;//把总页数存放到viewState中
    
                //检测要显示的页面是不是合理
                if (PageIndex > pageCount)
                {
                    PageIndex = pageCount;
                }
                if (PageIndex < 1)
                {
                    PageIndex = 1;
                }
                Label1.Text = "" + pageCount + "页/总记录:" + count;
                
                //2.显示数据
                sql = string.Format(sql, table, pageSize, (PageIndex-1) * pageSize, primaryKey, fileds);
                DataTable dt = GetTable(sql);
                if (gv!=null)
                {
                    gv.DataSource = dt;
                    gv.DataBind();
                }
                if (dl!=null)
                {
                    dl.DataSource = dt;
                    dl.DataBind();
                }
                if (rp!=null)
                {
                    rp.DataSource = dt;
                    rp.DataBind();
                }
               
    
    
    
            }
            //首页
            protected void LinkButton1_Click(object sender, EventArgs e)
            {
                PageIndex = 1;
                GoPage();
            }
            //上一页
            protected void LinkButton2_Click(object sender, EventArgs e)
            {
                PageIndex--;
                GoPage();
            }
            //下一页
            protected void LinkButton3_Click(object sender, EventArgs e)
            {
                PageIndex++;
                GoPage();
            }
            //尾页,最后一页
            protected void LinkButton4_Click(object sender, EventArgs e)
            {
                PageIndex = Convert.ToInt32(ViewState["pageCount"]);
                GoPage();
            }
            //跳转到某页
            protected void Button1_Click(object sender, EventArgs e)
            {
                PageIndex = Convert.ToInt32(TextBox1.Text);
                GoPage();
            }
            
    
    
        }
    }
  • 相关阅读:
    《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf
    .NET Core中文分词组件jieba.NET Core
    .NET Core 2.0及.NET Standard 2.0
    Visual Studio 2017 通过SSH 调试Linux 上.NET Core
    Visual Studio 2017 ASP.NET Core开发
    Visual Studio 2017正式版离线安装及介绍
    在.NET Core 上运行的 WordPress
    IT人员如何开好站立会议
    puppeteer(二)操作实例——新Web自动化工具更轻巧更简单
    puppeteer(一)环境搭建——新Web自动化工具(同selenium)
  • 原文地址:https://www.cnblogs.com/xiaz/p/5243014.html
Copyright © 2011-2022 走看看