成人免费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-08-10 13:32:15

ASP.NET TimASP.NET組件設計

2009-07-29 17:11:25

ASP.NET ISA

2009-07-29 16:08:07

ASP和ASP.NET

2009-08-03 13:38:18

ASP.NET編程模型

2009-07-28 09:02:32

asp.net aja

2009-08-03 17:35:07

ASP.NET WebASP.NET編程工具

2009-07-23 16:59:31

ASP.NET認證Form表單
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线视频观看 | 欧美在线日韩 | 国产欧美一区二区三区在线看 | 久草在线| 久久精品国产一区二区电影 | 成人国产精品久久久 | 久久久一区二区三区 | 91精品国产综合久久福利软件 | 我要看黄色录像一级片 | 日韩一区二区在线视频 | 亚洲高清在线观看 | 一级黄色片日本 | 黄色国产视频 | 中文字幕一二三区 | 亚洲成人国产精品 | 一区二区三区亚洲 | 色噜噜亚洲男人的天堂 | 免费黄色在线观看 | 免费午夜电影 | 国产视频三区 | 日韩免费视频 | 九色国产| 久久久久久国产精品免费免费男同 | 亚洲精品乱码久久久久久久久 | 欧美网址在线观看 | 日韩精品一区二区三区在线播放 | 国产色爽 | 国产精品片aa在线观看 | 日韩在线一区二区三区 | 99国产精品久久久久 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 国产精品免费看 | 国产成人免费在线观看 | 欧美视频网| 亚洲五码在线 | 国产精品久久久免费 | 国产精品国产精品国产专区不卡 | 成人久久18免费 | 精品欧美黑人一区二区三区 | 91在线精品一区二区 | 色爱综合网 |