自己写Repeater/GridView分页

前端代码:

<style type="text/css">
        .pages {
        text-align:center;
    }
        .pages span {
            border-style:groove;
            border-width:1px;
            padding:2px 5px 2px 5px;
        }
       .pages .pagenum {
            border:none;
        }
</style>

 

    <ul>
        <asp:Repeater ID="RepList" runat="server">
            <ItemTemplate>
                <li style="width:90%; margin:auto;margin-top:10px;"><a href='Design.aspx?id=<%#Eval("id") %>'><%#Eval("idName").ToString().Length>20?Eval("idName").ToString().Substring(0,20)+"...":Eval("idName") %></a><span style="float:right;color:#808080;"><%#Eval("idAddDate") %></span></li>
            </ItemTemplate>
        </asp:Repeater>
    </ul>
    <div class="pages">
        <span><asp:LinkButton ID="FirstPage" runat="server" OnClick="FirstPage_Click">首页</asp:LinkButton></span>
        <span><asp:LinkButton ID="BackPage" runat="server" OnClick="BackPage_Click">上一页</asp:LinkButton></span>
        <span><asp:LinkButton ID="NextPage" runat="server" OnClick="NextPage_Click">下一页</asp:LinkButton></span>
        <span ><asp:LinkButton ID="LastPage" runat="server" OnClick="LastPage_Click">末页</asp:LinkButton></span>
        <input type="text" id="gotxt" runat="server" style="width:30px;" />
        <span><asp:LinkButton ID="GoPage" runat="server" OnClick="GoPage_Click">Go</asp:LinkButton></span>
        <span class="pagenum">第<asp:Label ID="PageIndex" runat="server" Text="1" CssClass="pagenum"></asp:Label>页</span>
        <span class="pagenum">共<asp:Label ID="PageNum" runat="server" Text="1" CssClass="pagenum"></asp:Label>页</span>
    </div>


 

后台代码:

using MTMall.BLL;
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace MTMall.Web.Improvement
{
    public partial class Designs : System.Web.UI.Page
    {
        private ImprovementDesignsManager designBLL = new ImprovementDesignsManager();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //分页绑定
                PageIndex.Text = "1";
                bind();
            }
        }

        /// <summary>
        /// 绑定分页
        /// </summary>
        public void bind()
        {
            int recordCount = designBLL.GetDesifnCount();
            RepList.DataSource = designBLL.GetDesigns( Convert.ToInt32(PageIndex.Text) - 1);  //绑定RepMyOrder
            RepList.DataBind();
            int pageCount = recordCount % 20 == 0 ? recordCount / 20 : recordCount / 20 + 1;//总页数
            PageNum.Text = pageCount.ToString();
            int crrentPage = Convert.ToInt32(PageIndex.Text); //当前页  
            //判断按钮可用
            if (Convert.ToInt32(PageNum.Text) <= 1)
            {
                FirstPage.Enabled = false;
                BackPage.Enabled = false;
                NextPage.Enabled = false;
                LastPage.Enabled = false;
            }
            else if (crrentPage == 1 && Convert.ToInt32(PageNum.Text) > 1)
            {
                FirstPage.Enabled = false;
                BackPage.Enabled = false;
                NextPage.Enabled = true;
                LastPage.Enabled = true;
            }
            else if (crrentPage == pageCount && Convert.ToInt32(PageNum.Text) > 1)
            {
                FirstPage.Enabled = true;
                BackPage.Enabled = true;
                NextPage.Enabled = false;
                LastPage.Enabled = false;
            }
            else
            {
                FirstPage.Enabled = true;
                BackPage.Enabled = true;
                NextPage.Enabled = true;
                LastPage.Enabled = true;
            }

        }
        /// <summary>
        /// 首页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void FirstPage_Click(object sender, EventArgs e)
        {
            PageIndex.Text = "1";
            bind();
        }
        /// <summary>
        /// 上一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void BackPage_Click(object sender, EventArgs e)
        {
            PageIndex.Text = (Convert.ToInt32(PageIndex.Text) - 1).ToString();
            bind();
        }
        /// <summary>
        /// 下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void NextPage_Click(object sender, EventArgs e)
        {
            PageIndex.Text = (Convert.ToInt32(PageIndex.Text) + 1).ToString();
            bind();
        }
        /// <summary>
        /// 末页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LastPage_Click(object sender, EventArgs e)
        {
            PageIndex.Text = PageNum.Text;
            bind();
        }
        /// <summary>
        /// 跳转指定页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void GoPage_Click(object sender, EventArgs e)
        {
            if (Regex.IsMatch(gotxt.Value, "^[0-9]+$"))
            {
                int gonum = Convert.ToInt32(gotxt.Value);
                if (gonum > 0 && gonum <= Convert.ToInt32(PageNum.Text))
                {
                    PageIndex.Text = gonum.ToString();
                    bind();
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(GetType(), "myscipt", "<script>alert('找不到该页,请确认输入页面是否存在?');</script>");
                }
            }
            else
            {
                Page.ClientScript.RegisterClientScriptBlock(GetType(), "myscipt", "<script>alert('请输入数字!');</script>");
            }
        }
    }
}



 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值