zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#Page用于各页面继承功能实例

c#实例继承 功能 页面 用于 Page
2023-06-13 09:15:29 时间

本文实例讲述了C#Page用于各页面继承功能的实现方法。分享给大家供大家参考。具体方法如下:

IBasePage.cs文件如下:

复制代码代码如下:

///<summary>
///用于页面或用户控件
///</summary>
publicinterfaceIBasePage
{
       ///<summary>
       ///数据缓存类
       ///</summary>
       DbCacheCacheHelp{get;}

       ///<summary>
       ///页面视图,用于页面级别访问,模仿MVC
       ///</summary>
       ViewDataDictViewData{get;}

       ///<summary>
       ///获取DataTable.Rows,此方法不会出错异常
       ///</summary>
       ///<paramname="pName">数据名称</param>
       ///<returns></returns>
       DataRowCollectionViewDataRows(stringpName);

       ///<summary>
       ///1:true否则false
       ///</summary>
       ///<paramname="pName"></param>
       ///<returns></returns>
       boolIsViewData(stringpName);

       ///<summary>
       ///URL参数类
       ///</summary>
       UrlQueryUQ{get;}

       ///<summary>
       ///页面搜索关键词,搜索关键词是最基本功能,故在这里放一个字段
       ///</summary>
       stringsearchStr{get;set;}

       ///<summary>
       ///权限使用次数
       ///</summary>
       intUserFunCount{get;set;}

       ///<summary>
       ///数据库链接次数
       ///</summary>
       intDbCount{get;set;}

       ///<summary>
       ///用与判断增加style,js等是否已重复添加
       ///</summary>
       ///<paramname="pName"></param>
       ///<returns></returns>
       TempListHandlerTempList{get;}
}

BasePage.cs文件如下:

复制代码代码如下:

///<summary>
///整站页面基础类
///</summary>
publicclassBasePage:System.Web.UI.Page,IBasePage
{
       privatestaticreadonlyDataRowCollectionEmptyRows=newDataTable().Rows;

       privateDbCachecacheHelp;
       privateViewDataDictviewData;
       privateViewDataDictviewDataM;
       privateintuserFunCount=0;//权限使用次数
       privateintdbCount=0;//数据库连接次数

       privateTempListHandlertempList;

       protectedboolIsOpenXingNengTongji=true;

       #region搜索关键词
       //privatestring_searchStr;
       publicstringsearchStr
       {
           get
           {
               //if(this._searchStr==null)
               //{
               //   returnstring.Empty;
               //}

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

       #region将数据保存在页面控件里ViewDataPage
       ///<summary>
       ///将数据保存在页面控件里
       ///</summary>
       publicstringViewDataPage
       {
           get
           {
               returnReq.Form("__viewdatapage");
           }
           set
           {
               this.ClientScript.RegisterHiddenField("__viewdatapage",value);

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

       publicBasePage()
       {
           cacheHelp=newDbCache();
           viewData=newViewDataDict();
           viewDataM=newViewDataDict("model_");

           tempList=newTempListHandler();
       }

       privateDateTime__time1;
       privateDateTime__time2;
       privatestaticint__i=0;

       #region跟根URL重写获取参数
       ///<summary>
       ///跟根URL重写获取参数
       ///</summary>
       privateUrlQuery_UQ;

       protectedoverridevoidOnInit(EventArgse)
       {
           _UQ=newUrlQuery(true);

           __time1=DateTime.Now;

           base.OnInit(e);
       }

       protectedoverridevoidOnPreInit(EventArgse)
       {
           //"OnPreInit".WriteLine();
           base.OnPreInit(e);
       }
       #endregion

       #region基本信息统计
       protectedoverridevoidRender(System.Web.UI.HtmlTextWriterwriter)
       {
           //"Render".WriteLine();
           base.Render(writer);
           __i++;
           __time2=DateTime.Now;
           TimeSpants=__time2-__time1;

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

       protectedoverridevoidOnUnload(EventArgse)
       {
           //"OnUnload".WriteLine();
           base.OnUnload(e);
       }

       #region将搜索到的结果为醒目显示
       ///<summary>
       ///将搜索到的结果为醒目显示
       ///</summary>
       ///<paramname="str"></param>
       ///<returns></returns>
       publicstringReplaceSearchText(objectstr)
       {
           if(searchStr==null||searchStr.Length==0)
               returnstr.ToString();

           //returnstr.ToString().Replace(searchStr,"<strongstyle=\"color:#F00\">"+searchStr+"</strong>");

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

       #regionIBasePage成员
       ///<summary>
       ///数据缓存类
       ///</summary>
       publicDbCacheCacheHelp
       {
           get{returnthis.cacheHelp;}
       }

       ///<summary>
       ///页面视图,用于页面级别访问,模仿MVC
       ///</summary>
       publicViewDataDictViewData
       {
           get{returnthis.viewData;}
       }

       ///<summary>
       ///页面视图(Model),用于页面级别访问,模仿MVC
       ///</summary>
       publicViewDataDictViewDataM
       {
           get{returnthis.viewDataM;}
       }

       ///<summary>
       ///获取DataTable.Rows,此方法不会出错异常
       ///</summary>
       ///<paramname="pName"></param>
       ///<returns></returns>
       publicDataRowCollectionViewDataRows(stringpName)
       {
           DataTabledt=ViewData[pName]asDataTable;

           if(dt==null)
           {
               returnEmptyRows;
           }
           returndt.Rows;
       }

       publicboolIsViewData(stringpName)
       {
           returnviewData[pName].ToString()=="1";
       }

       publicUrlQueryUQ
       {
           get{returnthis._UQ;}
       }

       /////<summary>
       /////获取系统配置
       /////</summary>
       /////<paramname="key"></param>
       /////<returns></returns>
       //publicstringSysConfig(stringkey)
       //{
       //   returnWConfigBLL.GetValue(key).ToString();
       //}

       publicTempListHandlerTempList
       {
           get{returnthis.tempList;}
       }

       publicintUserFunCount
       {
           get{returnthis.userFunCount;}
           set{this.userFunCount=value;}
       }

       publicintDbCount
       {
           get{returnthis.dbCount;}
           set{this.dbCount=value;}
       }
       #endregion

       #regionITrace成员
       //privateintdbConnectionCount;
       /////<summary>
       /////数据库连接次数
       /////</summary>
       //publicintDbConnectionCount
       //{
       //   get
       //   {
       //       returnthis.dbConnectionCount;
       //   }
       //   set
       //   {
       //       dbConnectionCount=value;
       //   }
       //}

       #endregion

       #region获取或设置提交后返回的路径,若未指定,则是当前url
       ///<summary>
       ///获取或设置提交后返回的路径,若未指定,则是当前url
       ///</summary>
       publicstringUrlReferrer
       {
           get
           {
               strings=Req.Form("___urlreferrer");
               if(s.Length==0)
               {
                   s=ViewData["___urlreferrer"].ToString();
               }

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

               returns;
           }
           set
           {
               ViewData["___urlreferrer"]=value;

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

希望本文所述对大家的C#程序设计有所帮助。