源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-12-04 18:43 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp.net自定义分页控件示例
一、.ascx页面
[url=../Content/Css/Pager.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>=48&&event.keyCode<=57)                     ||(event.keyCode>=96&&event.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);         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部