• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp.net自定义分页控件示例

    一、.ascx页面

    复制代码 代码如下:

    %@ Control Language="C#" AutoEventWireup="true" CodeBehind="Pagination.ascx.cs" Inherits="IOCS.WEB.UserControl.Pagination" %>
    link href="../Content/Css/Pager.css" rel="stylesheet" type="text/css" />
    div id="tbPage" class="pager" runat="server" >
        記錄總數:asp:Label ID="LRecords" runat="server">/asp:Label>
        總頁數:asp:Label ID="LPages" runat="server">/asp:Label>
        當前頁:asp:Label ID="LPage" runat="server">/asp:Label>

            asp:LinkButton ID="LinkFirst" runat="server" CommandArgument="first" nClick="PagerButtonClick"
                Text="首頁">/asp:LinkButton>

            asp:LinkButton ID="LinkPrevious" runat="server" CommandArgument="prev" nClick="PagerButtonClick"
                Text="上一頁">/asp:LinkButton>

            asp:LinkButton ID="LinkNext" runat="server" CommandArgument="next" nClick="PagerButtonClick"
                Text="下一頁">/asp:LinkButton>

            asp:LinkButton ID="LinkLast" runat="server" CommandArgument="last" nClick="PagerButtonClick"
                Text="末頁">/asp:LinkButton>
        轉到第asp:TextBox ID="txtpage"  CssClass="piut" runat="server"  MaxLength="5" AutoPostBack="True" nTextChanged="txtpage_TextChanged">/asp:TextBox>頁

    二、.ascx.cs文件

    复制代码 代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

    namespace IOCS.WEB.UserControl
    {
        public partial class Pagination : System.Web.UI.UserControl
        {
            public event EventHandler PageButtonClick;
            public bool FirstPost = false;
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                  

                }
                // 只輸入數字
                txtpage.Attributes.Add("onclick",
                    @"if(!((event.keyCode>=48event.keyCode=57)
                        ||(event.keyCode>=96event.keyCode=105)
                        ||(event.keyCode==8)))event.returnValue=false;"
                  );

            }
            GridView _gv;

            /// summary>
            /// 需要分頁的GridView
            /// /summary>
            public GridView TargetControlID
            {
                set
                {
                    _gv = value;
                }
                get
                {
                    return _gv;
                }
            }

            protected void PagerButtonClick(object sender, EventArgs e)
            {
                //獲得linkebutton的參數值
                string arg = ((LinkButton)sender).CommandArgument;
                switch (arg)
                {
                    case ("next"):
                        {
                            if (_gv.PageIndex _gv.PageCount - 1)
                            {
                                _gv.PageIndex=_gv.PageIndex+1;
                            }
                            break;
                        }
                    case ("prev"):
                        {
                            if (_gv.PageIndex > 0)
                            {
                                _gv.PageIndex--;
                            }
                            break;
                        }
                    case ("first"):
                        {
                            _gv.PageIndex = 0;
                            break;
                        }
                    case ("last"):
                        {
                            if (_gv.PageCount > 0)
                            {
                                _gv.PageIndex = _gv.PageCount - 1;
                            }
                            break;
                        }

                    default:
                        {
                            _gv.PageIndex = Convert.ToInt32(arg);
                            break;
                        }
                }
                PageButtonClick(sender, e);

            }

            

            public void SetPageButton()
            {
                if (_gv.PageIndex == 0)
                {
                    LinkFirst.Enabled = false;
                    LinkPrevious.Enabled = false;


                    LinkFirst.Style["color"] = "gray";
                    LinkPrevious.Style["color"] = "gray";

                    object s = LinkFirst.Style.Keys;
                    if (_gv.PageCount > 1)
                    {
                        LinkNext.Enabled = true;
                        LinkLast.Enabled = true;
                        txtpage.Enabled = true;
                        txtpage.Enabled = true;
                        LinkNext.Style["color"] = "#000";
                        LinkLast.Style["color"] = "#000";
                        txtpage.Style["readonly"] = "false";
                    }
                    else
                    {
                        LinkNext.Enabled = false;
                        LinkLast.Enabled = false;
                        txtpage.Enabled = false;
                        LinkNext.Style["color"] = "gray";
                        LinkLast.Style["color"] = "gray";
                        txtpage.Style["readonly"] = "true";//background-color
                    }
                }
                else if (_gv.PageIndex == _gv.PageCount - 1)
                {
                    LinkFirst.Enabled = true;
                    LinkPrevious.Enabled = true;
                    LinkNext.Enabled = false;
                    LinkLast.Enabled = false;
                    LinkFirst.Style["color"] = "#000";
                    LinkPrevious.Style["color"] = "#000";
                    LinkNext.Style["color"] = "gray";
                    LinkLast.Style["color"] = "gray";
                }
                else
                {
                    LinkFirst.Enabled = true;
                    LinkPrevious.Enabled = true;
                    LinkNext.Enabled = true;
                    LinkLast.Enabled = true;
                    LinkFirst.Style["color"] = "#000";
                    LinkPrevious.Style["color"] = "#000";
                    LinkNext.Style["color"] = "#000";
                    LinkLast.Style["color"] = "#000";
                }
            }

            /// summary>
            /// 設定頁面信息
            /// /summary>
            /// param name="dsCount">DataSet的紀錄總數/param>

            public void SetPageRecord(int dsCount)
            {
                LRecords.Text = dsCount.ToString();
                int mod= dsCount%_gv.PageSize;
                LPages.Text = (mod == 0 ? dsCount / _gv.PageSize : dsCount / _gv.PageSize + 1).ToString();
                LPage.Text = (_gv.PageIndex + 1).ToString();
                tbPage.Visible = true;
                SetPageButton();
            }

            protected void txtpage_TextChanged(object sender, EventArgs e)
            {
                if (txtpage.Text != "")
                {
                    try
                    {
                        int index = int.Parse(txtpage.Text.Trim());
                        if (index = _gv.PageCount index >= 1)
                        {
                            _gv.PageIndex = index - 1;
                        }
                        else
                        {
                            Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "script. language='javascript'>alert('對不起,頁數超過索引范圍!');/script>");
                        }
                    }
                    catch
                    {

                        Page.ClientScript.RegisterStartupScript(this.GetType(), "Script", "script. language='javascript'>alert('對不起,只能輸入數字!');/script>");
                    }
                }
                PageButtonClick(sender, e);
            }
        }
    }

    您可能感兴趣的文章:
    • asp.net webform自定义分页控件
    • asp.net分页控件使用详解【附实例下载】
    • 解析asp.net的分页控件
    • 关于asp.net 自定义分页控件
    • asp.net中使用自定义控件的方式实现一个分页控件的代码
    • 分享一个asp.net pager分页控件
    • asp.net分页控件AspNetPager的样式美化
    • asp.net下Repeater使用 AspNetPager分页控件
    • AspNetAjaxPager,Asp.Net通用无刷新Ajax分页控件,支持多样式多数据绑定
    • asp.net web页面自定义分页控件使用详解
    上一篇:asp.net页面生命周期详解
    下一篇:页面间隔半秒钟更新时间 Asp.net使用Comet开发http长连接示例分享
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp.net自定义分页控件示例 asp.net,自定义,分页,控件,