亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C# Page用于各頁面繼承功能實例

2020-01-24 02:21:58
字體:
來源:轉載
供稿:網友

本文實例講述了C# Page用于各頁面繼承功能的實現方法。分享給大家供大家參考。具體方法如下:

IBasePage.cs文件如下:

復制代碼 代碼如下:
/// <summary>
/// 用于頁面或用戶控件
/// </summary>
public interface IBasePage
{
        /// <summary>
        /// 數據緩存類
        /// </summary>
        DbCache CacheHelp { get; }

        /// <summary>
        /// 頁面視圖,用于頁面級別訪問,模仿MVC
        /// </summary>
        ViewDataDict ViewData { get; }

        /// <summary>
        /// 獲取DataTable.Rows,此方法不會出錯異常
        /// </summary>
        /// <param name="pName">數據名稱</param>
        /// <returns></returns>
        DataRowCollection ViewDataRows(string pName);

        /// <summary>
        /// 1:true否則false
        /// </summary>
        /// <param name="pName"></param>
        /// <returns></returns>
        bool IsViewData(string pName);

        /// <summary>
        /// URL參數類
        /// </summary>
        UrlQuery UQ { get; }

        /// <summary>
        /// 頁面搜索關鍵詞,搜索關鍵詞是最基本功能,故在這里放一個字段
        /// </summary>
        string searchStr { get; set; }

        /// <summary>
        /// 權限使用次數
        /// </summary>
        int UserFunCount { get; set; }

        /// <summary>
        /// 數據庫鏈接次數
        /// </summary>
        int DbCount { get; set; }

        /// <summary>
        /// 用與判斷增加style,js等是否已重復添加
        /// </summary>
        /// <param name="pName"></param>
        /// <returns></returns>
        TempListHandler TempList { get; }
}

BasePage.cs文件如下:

復制代碼 代碼如下:
/// <summary>
/// 整站頁面基礎類
/// </summary>
public class BasePage : System.Web.UI.Page, IBasePage
{
        private static readonly DataRowCollection EmptyRows = new DataTable().Rows;

        private DbCache cacheHelp;
        private ViewDataDict viewData;
        private ViewDataDict viewDataM;
        private int userFunCount = 0;//權限使用次數
        private int dbCount = 0;//數據庫連接次數

        private TempListHandler tempList;

        protected bool IsOpenXingNengTongji = true;

        #region 搜索關鍵詞
        //private string _searchStr;
        public string searchStr
        {
            get
            {
                //if (this._searchStr == null)
                //{
                //    return string.Empty;
                //}

                return ViewData["keyword"].ToString();
            }
            set
            {
                //this._searchStr = value;
                ViewData["keyword"] = value;
            }
        }
        #endregion

        #region 將數據保存在頁面控件里 ViewDataPage
        /// <summary>
        /// 將數據保存在頁面控件里
        /// </summary>
        public string ViewDataPage
        {
            get
            {
                return Req.Form("__viewdatapage");
            }
            set
            {
                this.ClientScript.RegisterHiddenField("__viewdatapage", value);

                //this.ClientScript.RegisterClientScriptBlock(this.GetType(), "__urlreferrer", "<input id=/"__urlreferrer/" name=/"__urlreferrer/" type=/"hidden/" value=/"" + value + "/" />");
            }
        }
        #endregion

        public BasePage()
        {
            cacheHelp = new DbCache();
            viewData = new ViewDataDict();
            viewDataM = new ViewDataDict("model_");

            tempList = new TempListHandler();
        }

        private DateTime __time1;
        private DateTime __time2;
        private static int __i = 0;

        #region 跟根URL重寫獲取參數
        /// <summary>
        /// 跟根URL重寫獲取參數
        /// </summary>
        private UrlQuery _UQ;

        protected override void OnInit(EventArgs e)
        {
            _UQ = new UrlQuery(true);

            __time1 = DateTime.Now;

            base.OnInit(e);
        }

        protected override void OnPreInit(EventArgs e)
        {
            //"OnPreInit".WriteLine();
            base.OnPreInit(e);
        }
        #endregion

        #region 基本信息統計
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            //"Render".WriteLine();
            base.Render(writer);
            __i++;
            __time2 = DateTime.Now;
            TimeSpan ts = __time2 - __time1;

            if (IsOpenXingNengTongji)
                Response.Write(@"<div style=""text-align:center;color:#ccc"">Number:" + __i + ", Time:" + ts.TotalMilliseconds + "ms, DB=" + this.dbCount + ",fun=" + this.userFunCount + "</div>");
        }
        #endregion

        protected override void OnUnload(EventArgs e)
        {
            //"OnUnload".WriteLine();
            base.OnUnload(e);
        }

        #region 將搜索到的結果為醒目顯示
        /// <summary>
        /// 將搜索到的結果為醒目顯示
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public string ReplaceSearchText(object str)
        {
            if (searchStr == null || searchStr.Length == 0)
                return str.ToString();

            //return str.ToString().Replace(searchStr, "<strong style=/"color:#F00/">" + searchStr + "</strong>");

            return Regex.Replace(str.ToString(), Regex.Escape(searchStr), "<strong style=/"color:#F00/">" + searchStr + "</strong>", RegexOptions.IgnoreCase);
        }
        #endregion

        #region IBasePage 成員
        /// <summary>
        /// 數據緩存類
        /// </summary>
        public DbCache CacheHelp
        {
            get { return this.cacheHelp; }
        }

        /// <summary>
        /// 頁面視圖,用于頁面級別訪問,模仿MVC
        /// </summary>
        public ViewDataDict ViewData
        {
            get { return this.viewData; }
        }

        /// <summary>
        /// 頁面視圖(Model),用于頁面級別訪問,模仿MVC
        /// </summary>
        public ViewDataDict ViewDataM
        {
            get { return this.viewDataM; }
        }

        /// <summary>
        /// 獲取DataTable.Rows,此方法不會出錯異常
        /// </summary>
        /// <param name="pName"></param>
        /// <returns></returns>
        public DataRowCollection ViewDataRows(string pName)
        {
            DataTable dt = ViewData[pName] as DataTable;

            if (dt == null)
            {
                return EmptyRows;
            }
            return dt.Rows;
        }

        public bool IsViewData(string pName)
        {
            return viewData[pName].ToString() == "1";
        }

        public UrlQuery UQ
        {
            get { return this._UQ; }
        }

        ///// <summary>
        ///// 獲取系統配置
        ///// </summary>
        ///// <param name="key"></param>
        ///// <returns></returns>
        //public string SysConfig(string key)
        //{
        //    return WConfigBLL.GetValue(key).ToString();
        //}

        public TempListHandler TempList
        {
            get { return this.tempList; }
        }

        public int UserFunCount
        {
            get { return this.userFunCount; }
            set { this.userFunCount = value; }
        }

        public int DbCount
        {
            get { return this.dbCount; }
            set { this.dbCount = value; }
        }
        #endregion

        #region ITrace 成員
        //private int dbConnectionCount;
        ///// <summary>
        ///// 數據庫連接次數
        ///// </summary>
        //public int DbConnectionCount
        //{
        //    get
        //    {
        //        return this.dbConnectionCount;
        //    }
        //    set
        //    {
        //        dbConnectionCount = value;
        //    }
        //}

        #endregion

        #region 獲取或設置提交后返回的路徑,若未指定,則是當前url
        /// <summary>
        /// 獲取或設置提交后返回的路徑,若未指定,則是當前url
        /// </summary>
        public string UrlReferrer
        {
            get
            {
                string s = Req.Form("___urlreferrer");
                if (s.Length == 0)
                {
                    s = ViewData["___urlreferrer"].ToString();
                }

                if (s.Length == 0)
                {
                    s = Request.Url.ToString();
                }

                return s;
            }
            set
            {
                ViewData["___urlreferrer"] = value;

                this.ClientScript.RegisterHiddenField("___urlreferrer", value);/" type=/"hidden/" value=/"" + value + "/" />");
            }
        }
        #endregion
}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久中文字幕| 成人夜晚看av| 亚洲欧美精品suv| 高清日韩电视剧大全免费播放在线观看| 欧美特黄级在线| 精品日本高清在线播放| 日韩高清欧美高清| 国产女同一区二区| 欧美激情在线观看| 国产精品久久久久久久久久三级| 中文字幕一区日韩电影| 成人女保姆的销魂服务| 久久香蕉精品香蕉| 综合国产在线观看| 在线亚洲欧美视频| 亚洲精品一二区| 国产精品久久一区主播| 亚洲一区二区三区乱码aⅴ| 亚洲电影免费观看高清完整版在线| 91在线高清视频| 精品无人区太爽高潮在线播放| 久久久久久久成人| 久久色精品视频| 欧美精品videossex性护士| 韩国v欧美v日本v亚洲| 亚洲片在线资源| 欧美精品国产精品日韩精品| 亚洲网站视频福利| 欧美一级黑人aaaaaaa做受| 久久99热精品这里久久精品| 欧美国产在线电影| 亚洲日本aⅴ片在线观看香蕉| 在线观看免费高清视频97| 欧美激情中文字幕在线| 亚洲第一区中文99精品| 精品久久久久久亚洲国产300| 乱亲女秽乱长久久久| 久久成年人免费电影| 2019中文字幕在线免费观看| 亚洲国产成人爱av在线播放| 欧美黑人巨大精品一区二区| 国产精品高潮在线| 国产精品草莓在线免费观看| 国产精品视频一区二区高潮| 性欧美办公室18xxxxhd| 欧美综合激情网| 91高清视频免费观看| 亚洲性视频网站| 国产日韩精品电影| 久久久www成人免费精品张筱雨| 精品国偷自产在线视频| 法国裸体一区二区| 91夜夜未满十八勿入爽爽影院| 欧美电影免费观看大全| 欧美午夜xxx| 久久九九全国免费精品观看| 亚洲激情自拍图| 亚洲网站在线播放| 日本精品中文字幕| 91精品国产乱码久久久久久蜜臀| 91精品国产综合久久久久久蜜臀| 国产精品美女在线观看| 2020久久国产精品| 免费99精品国产自在在线| 韩国视频理论视频久久| 精品国产乱码久久久久久虫虫漫画| 日韩av最新在线观看| 91在线视频精品| 亚洲视频999| 成人激情视频在线观看| 日韩欧美在线字幕| 97视频免费在线看| 久久中文字幕视频| 久久视频中文字幕| 日韩在线一区二区三区免费视频| 欧美一区三区三区高中清蜜桃| 中文字幕亚洲综合久久| 欧美日韩精品在线| 国产精品黄色影片导航在线观看| 亚洲第一偷拍网| 久久亚洲精品中文字幕冲田杏梨| 韩剧1988免费观看全集| 国产日韩在线免费| 国产91ⅴ在线精品免费观看| 久久久久久久久久久免费精品| 久久91精品国产91久久久| 亚洲小视频在线| 国产成人精品国内自产拍免费看| 国产91|九色| 九九九久久国产免费| 日韩av不卡在线| 国产精品久久久久久av福利| 成人a视频在线观看| 欧美激情女人20p| 国产一区二区三区在线播放免费观看| 成人有码视频在线播放| 国产亚洲视频在线观看| 亚洲欧美国内爽妇网| 亚洲国产精品成人va在线观看| 精品综合久久久久久97| 日韩高清电影好看的电视剧电影| 热99久久精品| 欧美成人精品一区二区三区| 2025国产精品视频| 国产成人精品久久亚洲高清不卡| 亚洲欧美成人一区二区在线电影| 国产精品91久久久| 久久五月天综合| 亲子乱一区二区三区电影| 伊人精品在线观看| 亚洲丁香久久久| 国产亚洲精品久久久| 国产香蕉精品视频一区二区三区| 精品久久国产精品| 成人午夜一级二级三级| 欧美性xxxxhd| 日本一区二区三区在线播放| 欧美黄色片免费观看| 欧美视频中文字幕在线| 久久精品中文字幕一区| 国产成人精品一区二区三区| 91av在线播放视频| 伊人青青综合网站| 性欧美暴力猛交69hd| 欧日韩不卡在线视频| 91av在线免费观看视频| 成人444kkkk在线观看| 国产精品成人播放| 欧美疯狂做受xxxx高潮| 欧美大秀在线观看| 欧美日韩福利电影| 亚洲人成人99网站| 久久久国产精品视频| 国色天香2019中文字幕在线观看| 中文字幕欧美精品日韩中文字幕| 欧美精品在线观看91| 国产精品免费看久久久香蕉| 久久久黄色av| 国产美女91呻吟求| 精品综合久久久久久97| 韩日欧美一区二区| 91精品国产99| 亚洲精品视频中文字幕| 中文字幕不卡在线视频极品| 欧美日韩亚洲视频| 法国裸体一区二区| 日本一区二区在线免费播放| 国产精品亚洲片夜色在线| 欧美成人在线网站| 欧美成年人视频网站欧美| 亚洲第一二三四五区| 国产精品com| 亚洲国产小视频在线观看| 日韩在线视频观看正片免费网站| 日韩欧美在线播放| 成人h视频在线观看播放| 九九热这里只有在线精品视| 欧美精品久久久久久久久久| 久久伊人精品一区二区三区| 久久人人97超碰精品888| 91精品在线播放| 色哟哟网站入口亚洲精品| 成人网在线视频| 国产精品成人一区|