国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net 分頁-自己寫分頁控件

2019-11-17 01:31:38
字體:
來源:轉載
供稿:網友

asp.net 分頁-自己寫分頁控件

  去年就發表過asp.net 分頁-利用后臺直接生成html分頁,那種方法只是單純的實現了分頁,基本不能使用,那時就想寫個自己的分頁控件,無奈能力有限。最近有點時間了,就自己做出了這個分頁控件。我承認,這個控件參考了別人的,但是其實里面的原理都相同,差異只是展現方式而已。

  去年就在做一個自己的后臺系統,剛開始用的asp.net,做了一部分就沒有做了,因為缺少權限控制類別。后面轉為用asp.net mvc4做,也只是做了一部分,覺得不太方便,也許是我不太會用。再用Ajax+ashx做了一部分,雖然體驗不錯,但是我還是放棄了,比起純正的asp.net還是麻煩多了。我要做的系統不是很大,覺得用asp.net很方便,權限控制,通用控件可以加快步伐。所以我決定先做出來再說,怎么簡單怎么做。

展示效果

屬性解釋:

CSS:定義div和鏈接等的樣式

SelectCss:當前選擇的鏈接樣式

CssEnable:本來想做一個默認的樣式,但是感覺需要不大,所以這個屬性暫時無用

PageSize:每頁顯示的數據條數

PReNextVisable:上一頁和下一頁的顯示,默認為顯示

TotalVisable:顯示總數,默認為不顯示,圖上顯示錯誤:共{0}筆

運行效果:

實現過程

//****************************************************************************************//作者:輕狂書生//博客地址:http://m.survivalescaperooms.com/xiaoshuai1992//create: 2014/5/5//功能:分頁控件的實現//使用方法:正常控件使用方法//*****************************************************************************************using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.ComponentModel;[assembly: TagPrefix("XS.Framework.Control", "xs")]namespace pageControl{    public class PageChangedEventArgs : EventArgs    {        int ITotalCount = 0;        int ICurrentPage = 0;        int ipageSize = 0;        public int ECurrentPage        {            get { return ICurrentPage; }            set { ICurrentPage = value; }        }        public int ETotalCount        {            get { return ITotalCount; }            set { ITotalCount = value; }        }        public int EPageSize        {            get { return IPageSize; }            set { IPageSize = value; }        }        public PageChangedEventArgs(int curPage, int totalcount, int pageSize)        {            ECurrentPage = curPage;            ETotalCount = totalcount;            EPageSize = pageSize;        }    }    public delegate void PageChangedEvent(object sender, PageChangedEventArgs e);    public class xsPageControl : Control, IPostBackEventHandler    {        #region 屬性        string _preText = "上一頁";        string _nextText = "下一頁";        string _totalText = "共{0}筆";        bool _totalVisable = false;//由于存在尾頁號,總頁數不是必須,故這里我設置默認為不打開        bool _preNextVisable = true;        int _pageSize = 10;        string _css = "xsPage";        string _selectCss = "xsSelect";        bool _cssEnable = true;        int ITotalCount = 0;        int ICurrentPage = 0;        [Category("Text")]        public string PreText        {            get { return _preText; }            set { _preText = value; }        }        [Category("Text")]        public string NextText        {            get { return _nextText; }            set { _nextText = value; }        }        [Category("Text")]        public string TotalText        {            get { return _totalText; }            set { _totalText = value; }        }        [Category("Text")]        public bool TotalVisable        {            get { return _totalVisable; }            set { _totalVisable = value; }        }        [Category("Text")]        public bool PreNextVisable        {            get { return _preNextVisable; }            set { _preNextVisable = value; }        }        [Category("Size")]        public int PageSize        {            get { return _pageSize; }            set { _pageSize = value; }        }        [Category("CSS")]        public string Css        {            get { return _css; }            set { _css = value; }        }        [Category("CSS")]        public string SelectCss        {            get { return _selectCss; }            set { _selectCss = value; }        }        [Category("CSS")]        /// <summary>        /// 是否使用默認CSS,自定義CSS無效        /// </summary>        public bool CssEnable        {            get { return _cssEnable; }            set { _cssEnable = value; }        }        [Browsable(false)]        public int CurrentPage        {            set { ICurrentPage = value; }        }        [Browsable(false)]        public int TotalPage        {            get            {                int tpage = 0;                if (PageSize > 0)                {                    tpage = (TotalCount % PageSize == 0 ? TotalCount / PageSize : TotalCount / PageSize + 1);                }                return tpage;            }        }        [Browsable(false)]        public int TotalCount        {            get { return ITotalCount; }            set { ITotalCount = value; }        }        #endregion        public event PageChangedEvent PageChanged;        #region 效果呈現        public override void RenderControl(HtmlTextWriter writer)        {            Render(writer);        }        protected override void Render(HtmlTextWriter writer)        {            if (DesignMode)            {                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);                writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);                writer.AddAttribute(HtmlTextWriterAttribute.Class, Css);                writer.RenderBeginTag(HtmlTextWriterTag.Div);                if (TotalVisable)                {                    writer.RenderBeginTag(HtmlTextWriterTag.Span);                    writer.Write(string.Format(TotalText, 0));                    writer.RenderEndTag();                    writer.Write("&nbsp;&nbsp;");                }                if (PreNextVisable)                {                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "#");                    writer.RenderBeginTag(HtmlTextWriterTag.A);                    writer.Write(PreText);                    writer.RenderEndTag();                    writer.Write("&nbsp;&nbsp;");                }                for (int i = 1; i <= 5; i++)                {                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "#");                    writer.RenderBeginTag(HtmlTextWriterTag.A);                    writer.Write(i.ToString());                    writer.RenderEndTag();                    writer.Write("&nbsp;&nbsp;");                }                if (PreNextVisable)                {                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "#");                    writer.RenderBeginTag(HtmlTextWriterTag.A);                    writer.Write(NextText);                    writer.RenderEndTag();                    writer.Write("&nbsp;&nbsp;");                }                writer.RenderEndTag();            }            else            {                writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);                writer.AddAttribute(HtmlTextWriterAttribute.Name, this.UniqueID);                writer.AddAttribute(HtmlTextWriterAttribute.Class, Css);                writer.RenderBeginTag(HtmlTextWriterTag.Div);                if (TotalVisable)                {                    writer.RenderBeginTag(HtmlTextWriterTag.Span);                    writer.Write(string.Format(TotalText, ITotalCount));                    writer.RenderEndTag();                }                if (PreNextVisable && ICurrentPage != 1)                {                    writer.AddAttribute(HtmlTextWriterAttribute.Href, "javascript:" + Page.ClientScript.GetPostBackEventReference(this, ICurrentPage - 1 + ""));                    writer.RenderBeginTag(HtmlTextWriterTag.A);                    writer.Write(PreText);                    writer.RenderEndTag();                }                if (TotalPage <= 10)                {                    for (int i = 1; i <= TotalPage; i++)                    {                        if (i == ICurrentPage)                        {                            //添加當前選擇的樣式                            writer.AddAttribute(HtmlTextWriterAttribute.Class, SelectCss);                        }                        writer.AddAttribute(HtmlTextWriterAttribute.Href, "Javascript:" + Page.ClientScript.GetPostBackEventReference(this, i + "
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉峪关市| 松桃| 满城县| 三门峡市| 鄱阳县| 鄂伦春自治旗| 宿迁市| 元朗区| 烟台市| 呼伦贝尔市| 万年县| 阳朔县| 徐汇区| 库伦旗| 阳城县| 杂多县| 麦盖提县| 普宁市| 宿松县| 平罗县| 洛阳市| 广宗县| 潜江市| 繁峙县| 琼海市| 东乡| 响水县| 蓬溪县| 阿坝| 宣汉县| 汝州市| 湄潭县| 布拖县| 柞水县| 伊金霍洛旗| 龙口市| 广安市| 民乐县| 太康县| 长武县| 绥芬河市|