成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET實現用PageBase代替MasterPage

開發 后端
本文介紹ASP.NET的PageBase和MasterPage,以及介紹在.Net Framwork 2.0的B/S架構項目中同時采用PageBase和MasterPage技術。

ASP.NET實現用MasterPage中的.cs文件 代替項目中的PageBase。     

寫這篇文章的動機,來自于一次項目重構。在.Net Framwork 2.0的B/S架構項目中同時采用PageBase和MasterPage技術,發現每次訪問頁面,頁面同時訪問PageBase和MasterPage,不僅造成性能降低,甚至有可能給日后的項目功能擴充和調整帶來邏輯錯誤隱患。

PageBase:.Net Framework 1.1 中經常使用的一種封裝多個頁面相同功能的技術。PageBase.cs類繼續自System.Web.UI.Page類,項目中的Web頁面繼續自PageBase.cs類,通過重寫基類中的頁面初始化方法,實現調用PageBase中的業務功能,例如:url參數驗證,保存訪問量等功能(具體實現方式參見微軟官方例子duwamishi)。

MasterPage:.Net Framework 2.0 中新特性,物理上包括兩個文件,分別是:.Master文件(Html標記),.cs文件(C#代碼)。.Master文件實現顯示層繪制,.cs文件實現具體功能。繼續自MasterPage的Web頁面可以繼續MasterPage中的顯示層內容。繪制通用的頁頭頁腳,定制統一的布局,MasterPage是不錯的選擇。

用MasterPage技術,代替PageBase,ASP.NET實現地址欄參數驗證。
簡單的做個解釋吧     

登錄系統之后,url地址欄中帶有參數:
http://localhost:3730/MasterPageBaseDemo/TestPage.aspx?id=1001
此時用戶手動修改url地址欄中參數為:
http://localhost:3730/MasterPageBaseDemo/TestPage.aspx?id=1002
被視為非法操作,系統將自動跳轉回登錄頁面。

傳統的Page做法為:

  1. publicclassPageBase:System.Web.UI.Page  
  2. {  
  3. publicPageBase()  
  4. {  
  5. }  
  6. /**////<summary> 
  7. ///入口方法  
  8. ///summary> 
  9. protectedvoidInitialize()  
  10. {  
  11. //插入通用業務邏輯  
  12. }  

Web頁面:

  1. publicpartialclassTestPage:PageBase  
  2. {  
  3. //傳統的調用PageBase的方法  
  4. /**/////<summary> 
  5. ///重寫基類OnPreInit()方法,調用通用驗證方法  
  6. ///summary> 
  7. ///<paramnameparamname="e">param> 
  8. protectedoverridevoidOnInit(eventargse)  
  9. {  
  10. base.Initialize();  
  11. }  

參照其做法,將PageBase中的代碼移入MasterPage中:
MasterPage.cs:

  1. publicpartialclassMyMasterPage:System.Web.UI.MasterPage  
  2. {  
  3. protectedvoidPage_Load(objectsender,EventArgse)  
  4. {  
  5. if(!IsPostBack)  
  6. {  
  7.  
  8. //調用驗證方法  
  9. Initialize();  
  10. }  
  11. }  

將Web頁面中的代碼修改為:

  1. publicpartialclassTestPage:System.Web.UI.Page  
  2. {  
  3. //仿照PageBase方法,調用Master中的方法  
  4. /**////<summary> 
  5. ///重寫基類OnPreInit()方法,調用通用驗證方法  
  6. ///summary> 
  7. ///<paramnameparamname="e">param> 
  8. protectedoverridevoidOnInit(eventargse)  
  9. {  
  10. //獲得母板頁引用  
  11. MyMasterPagemyMasterPage=(MyMasterPage)this.Master;  
  12. //調用母板頁中通用驗證方法  
  13. if(!IsPostBack)  
  14. {  
  15. myMasterPage.Initialize();  
  16. }  
  17. }  

以上介紹ASP.NET的PageBase和MasterPage

【編輯推薦】

  1. ASP.NET插件的實現方式
  2. 概述ASP.NET應用程序
  3. 淺談ASP.NET 2.0數據綁定
  4. ASP.NET阻止Java Script注入式攻擊
  5. ASP.NET MVC使用T4
責任編輯:佚名 來源: 網易空間
相關推薦

2009-07-29 11:46:22

asp.net1.1

2009-07-22 17:45:35

ASP.NET教程

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 17:17:19

ASP.NET概述

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入門教程

2009-07-23 10:31:14

2009-07-22 17:45:11

ASP.NET插件

2009-07-22 17:13:21

Asp.Net編程

2009-07-20 15:44:32

ASP.NET MVC

2009-07-28 10:01:16

ASP.NET Exc

2009-08-10 17:17:10

ASP.NET安裝部署

2009-08-05 17:58:34

實現ASP.NET網站

2009-07-28 15:29:03

實現HTTP請求ASP.NET

2009-07-29 17:11:25

ASP.NET ISA

2009-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-23 16:59:31

ASP.NET認證Form表單

2009-07-24 10:53:51

ASP.NET實現靜態

2009-08-05 14:27:55

ASP.NET模板基本
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 超碰成人免费观看 | 夜夜操天天操 | 久久久久久99 | 高清人人天天夜夜曰狠狠狠狠 | 美女福利网站 | 国产精品久久久久久婷婷天堂 | 日韩不卡一二区 | 亚洲精品一区二区三区蜜桃久 | 久久机热 | 91九色porny首页最多播放 | 午夜天堂精品久久久久 | 夜夜精品浪潮av一区二区三区 | 中文字幕电影在线观看 | 亚洲在线 | 天天拍天天色 | 国产成人精品久久二区二区91 | 日韩欧美一区二区三区四区 | 国产日韩欧美在线 | 99热这里都是精品 | 久久久久精 | 国产日韩欧美一区二区 | 97久久精品午夜一区二区 | 亚洲最大av| 国产精品久久久久久一区二区三区 | 日韩中文一区 | 亚洲成人一区二区三区 | 久久精品视频在线观看 | 亚洲精品一区二区另类图片 | 欧美在线视频一区 | 欧美日韩综合一区 | 精品欧美一区二区三区久久久 | 亚洲精品一区二区三区中文字幕 | 中文区中文字幕免费看 | 三级在线免费 | 久久人爽 | 四虎午夜剧场 | 亚洲色欲色欲www | 国产高清在线观看 | 日韩在线欧美 | 人人干在线视频 | 国产日韩欧美一区二区 |