• webform分页


    前端界面:

    当前第【<asp:Label ID="Label_nowpage" runat="server" Text="Label"></asp:Label>】页&nbsp&nbsp
            共【<asp:Label ID="Label_maxpage" runat="server" Text="Label"></asp:Label>】页&nbsp&nbsp
                <asp:LinkButton ID="btn_first" runat="server">首页</asp:LinkButton>&nbsp&nbsp
                <asp:LinkButton ID="btn_prev" runat="server">上一页</asp:LinkButton>&nbsp&nbsp
                <asp:LinkButton ID="btn_next" runat="server">下一页</asp:LinkButton>&nbsp&nbsp
                <asp:LinkButton ID="btn_last" runat="server">末页</asp:LinkButton>&nbsp&nbsp
                <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"></asp:DropDownList>
                <asp:Button ID="Button1" runat="server" Text="跳转" />

    实体类:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    /// goods 的摘要说明
    /// </summary>
    public class goods
    {
        public goods()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
        }
        public int ids { get; set; }
        public string goodsname { get; set; }
        public string number { get; set; }
        public string sprice { get; set; }
        public DateTime intime { get; set; }
        public string gtel { get; set; }
        public string goodsbase { get; set; }
    
    
    }

    数据访问类:

    选择五条:

     public List<goods> select(int count,int nowpage)
        {
            List<goods> glist = new List<goods>();
            cmd.CommandText = "select top "+count+"*from goods where ids not in(select top "+((nowpage-1)*count)+" ids from goods)";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    goods g = new goods();
                    g.ids = Convert.ToInt32(dr[0]);
                    g.goodsname = dr[1].ToString();
                    g.number = dr[2].ToString();
                    g.sprice = dr[3].ToString();
                    g.intime = Convert.ToDateTime(dr[4]);
                    g.gtel = dr[5].ToString();
                    g.goodsbase = dr[6].ToString();
    
    
                    glist.Add(g);
                }
            }
            conn.Close();
            return glist;
        }

    选择全部:

    public List<goods> select()
        {
            List<goods> glist = new List<goods>();
            cmd.CommandText = "select*from goods";
            conn.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    goods g = new goods();
                    g.ids = Convert.ToInt32(dr[0]);
                    g.goodsname = dr[1].ToString();
                    g.number = dr[2].ToString();
                    g.sprice = dr[3].ToString();
                    g.intime = Convert.ToDateTime(dr[4]);
                    g.gtel = dr[5].ToString();
                    g.goodsbase = dr[6].ToString();
    
    
                    glist.Add(g);
                }        
            }
            conn.Close();
            return glist;
        }

    后台代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class Default2 : System.Web.UI.Page
    {
        int count = 5;//每页显示条数
        protected void Page_Load(object sender, EventArgs e)
        {
            //string ni = Session["a"].ToString();
            //Label1.Text = ni + ",欢迎回来!";
            if (!IsPostBack)
            {
                Label_nowpage.Text = "1";
                Label_maxpage.Text = maxpagenum().ToString();
                Repeater1.DataSource = new goodsdata().select(count, 1);
                Repeater1.DataBind();
                btn_prev.Enabled = false;
    
                int max = maxpagenum();
                for (int i = 1; i <= max; i++)
                {
                    DropDownList1.Items.Add(i.ToString());
                }
    
    
    
            }
    
            DropDownList1.SelectedIndexChanged += Button1_Click;
            btn_first.Click += btn_first_Click;//首页
            btn_prev.Click += btn_prev_Click;//上一页
            btn_next.Click += btn_next_Click;//下一页
            btn_last.Click += btn_last_Click;//末页
            Button1.Click += Button1_Click;
        }
    
        void Button1_Click(object sender, EventArgs e)
        {
            //获取当前页,计算要看的下一页的页号
            int pagenext = Convert.ToInt32(DropDownList1.SelectedValue);
    
            //按照获取的页数绑定相应的数据
            Repeater1.DataSource = new goodsdata().select(count, pagenext);
            Repeater1.DataBind();
            //修改显示页数
            Label_nowpage.Text = pagenext.ToString();
            //判断是否禁用
            if (pagenext == 1)
            {
                btn_prev.Enabled = false;
                btn_next.Enabled = true;
            }
            if (pagenext == maxpagenum())
            {
                btn_prev.Enabled = true;
                btn_next.Enabled = false;
            }
    
    
    
        }
        void btn_first_Click(object sender, EventArgs e)//跳转第一页
        {
            //按照获取的页数绑定相应的数据
            Repeater1.DataSource = new goodsdata().select(count, 1);
            Repeater1.DataBind();
            //修改显示页数
            Label_nowpage.Text = "1";
    
            btn_prev.Enabled = false;
            btn_next.Enabled = true;
        }
    
        void btn_prev_Click(object sender, EventArgs e)//跳转上一页
        {
            //获取当前页,计算要看的下一页的页号
            int pagenext = Convert.ToInt32(Label_nowpage.Text) - 1;
    
            //按照获取的页数绑定相应的数据
            Repeater1.DataSource = new goodsdata().select(count, pagenext);
            Repeater1.DataBind();
            //修改显示页数
            Label_nowpage.Text = pagenext.ToString();
            //判断是否有下一页
            if (pagenext<=1)
            {
                btn_prev.Enabled = false;
            }
            //恢复下一页按钮的可用性
            btn_next.Enabled = true;
        }
    
        void btn_next_Click(object sender, EventArgs e)//跳转下一页
        {
            //获取当前页,计算要看的下一页的页号
            int pagenext = Convert.ToInt32(Label_nowpage.Text) + 1;
           
            //按照获取的页数绑定相应的数据
            Repeater1.DataSource = new goodsdata().select(count,pagenext);
            Repeater1.DataBind();
            //修改显示页数
            Label_nowpage.Text = pagenext.ToString();
            //判断是否有下一页
            if (pagenext >= maxpagenum())
            {
                btn_next.Enabled = false;
            }
            btn_prev.Enabled = true;
        }
    
        void btn_last_Click(object sender, EventArgs e)//跳转尾页
        {
            //按照获取的页数绑定相应的数据
            Repeater1.DataSource = new goodsdata().select(count, maxpagenum());
            Repeater1.DataBind();
            //修改显示页数
            Label_nowpage.Text = maxpagenum().ToString();
    
            btn_prev.Enabled = true;
            btn_next.Enabled = false;
        }
    
        public int maxpagenum()//计算最大页数的方法
        {
            List<goods> glist = new goodsdata().select();
    
            int end = Convert.ToInt32(Math.Ceiling(glist.Count / (count * 1.0)));
            return end;
        }
    }
  • 相关阅读:
    表单提交textarea内容,第一次获取不到值,第二次才能获取到的解决方法:
    连接oracle数据库报错:TNS-12516 TNS:listener could not find available handler with matching protocol stack解决方法
    【BZOJ 1272】 1272: [BeiJingWc2008]Gate Of Babylon (容斥原理+卢卡斯定理)
    【BZOJ 3456】 3456: 城市规划 (NTT+多项式求逆)
    【BZOJ 4332】 4332: JSOI2012 分零食 (FFT+快速幂)
    【BZOJ 4555】 4555: [Tjoi2016&Heoi2016]求和 (NTT)
    【BZOJ 4503】4503: 两个串 (FFT)
    【BZOJ 3771】 3771: Triple (FFT+容斥)
    【BZOJ 3160】 3160: 万径人踪灭 (FFT)
    【UOJ 34】 #34. 多项式乘法 (FFT)
  • 原文地址:https://www.cnblogs.com/wy1992/p/6249332.html
Copyright © 2020-2023  润新知