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

ASP.NET中的三個基類

開發 后端
本文向您介紹ASP.NET中的三個基類:Control,WebControl,CompositeControl,ASP.NET控件都是繼承自這三個ASP.NET基類。

一般我們撰寫ASP.NET控件都是繼承Framework 已有三個ASP.NET基類,Control,WebControl,CompositeControl,它們之間的關系大家都很清楚。

下面我就各個ASP.NET基類的呈現方法作一些簡單的說明:


Control,主要有以下4個方法用于呈現:

  1. protected internal virtual void Render  
  2. (HtmlTextWriter writer)   
  3. {   
  4. this.RenderChildren();   
  5. }   
  6. protected internal virtual void   
  7. RenderChildren(HtmlTextWriter writer)   
  8. {   
  9. //呈現子控件   
  10. }   
  11. public virtual void RenderControl  
  12. (HtmlTextWriter writer)   
  13. {   
  14. //該方法為入口方法   
  15. this.RenderControl(writer,this.xxxAdapter);   
  16. }   
  17. protected void RenderControl(HtmlTextWriter   
  18. writer, ControlAdapter adapter)   
  19. {   
  20. if (adapter != null)   
  21. {   
  22. //調用相關的適配器方法   
  23. }   
  24. else   
  25. {   
  26. this.Render(writer);   
  27. }   
  28. } 整個呈現順序就是:   
  29. 1.RenderControl(HtmlTextWriter writer)   
  30. 2.RenderControl(HtmlTextWriter writer,   
  31. ControlAdapter adapter)   
  32. 3.Render(HtmlTextWriter writer)   
  33. 4.RenderChildren(HtmlTextWriter writer)   

概念上理解就是:

1.控件開始呈現

2.控件是否有相關的呈現適配器,有的話就適配器調用適配器的相關呈現方法

3.呈現子控件

4.完成控件呈現

題外話:關于控件適配器我基本上沒用過,不過可以學習這個手法,怎么樣在一個類中添加新功能而不影響原代碼,既OO的基本設計原則之一 優先使用組合。
 
WebControl:在Control的基礎上增加了Style,呈現方面就是在Render(HtmlTextWriter writer) 方法中擴展了三個呈現方法,增加一個屬性呈現方法, 偽代碼如下:

  1. publicvirtualvoidRenderBeginTag  
  2. (HtmlTextWriterwriter)  
  3. {  
  4. this.AddAttributesToRender(writer);  
  5. //呈現Tag開始標記  
  6. }  
  7.  
  8. protectedoverridevoidRender(HtmlTextWriterwriter)  
  9. {  
  10. //重寫了Control的Render方法并增加了三個擴展方法  
  11. this.RenderBeginTag(writer);  
  12. this.RenderContents(writer);  
  13. this.RenderEndTag(writer);  
  14. }  
  15. protectedinternalvirtualvoidRenderContents  
  16. (HtmlTextWriterwriter)  
  17. {  
  18. //調用Control的呈現  
  19. base.Render(writer);  
  20. }  
  21.  
  22. publicvirtualvoidRenderEndTag(HtmlTextWriterwriter)  
  23. {  
  24. //呈現結束標記  
  25. }  
  26.  
  27. protectedvirtualvoidAddAttributesToRender  
  28. (HtmlTextWriterwriter)  
  29. {  
  30. //呈現Attribute  
  31. }  
  32. CompositeControl重寫了WebControl的Render  
  33. (HtmlTextWriterwriter),  
  34. 增加了設計時支持以創建子控件  
  35.  
  36. protectedinternaloverridevoidRender(HtmlTextWriterwriter)  
  37. {  
  38. //如果在設計時,創建子控件,也就是在設計時增加友好體驗  
  39. if(DesignMode)  
  40. this.EnsureChildControls();  
  41. base.Render(writer);  
  42. }  

【編輯推薦】

  1. ASP.NET環境下的Shell函數
  2. 在ASP.NET中向數據庫批量插入數據
  3. ASP.NET用Post方式向網頁發送數據
  4. ASP.NET 2.0部署WEB應用程序淺析
  5. ASP.NET中的HttpWorkerRequest對像
責任編輯:冰荷 來源: it55
相關推薦

2009-08-04 17:42:23

DataSourceCASP.NET

2009-07-23 14:39:23

ASP.NET處理

2009-07-28 17:38:02

ASP.NET多態抽象基類

2009-07-30 08:49:58

ASP.NET中usi

2009-07-24 10:10:22

ASP.NET

2009-07-24 16:17:42

WebRequestEASP.NET

2009-07-29 13:57:53

創建SlideShowASP.NET

2009-07-30 13:07:49

ASP.NET中的三層

2009-08-05 18:17:16

ASP.NET控件開發基類

2009-07-27 13:01:28

TreeViewASP.NET

2009-07-31 09:58:20

URL映射ASP.NET

2009-08-04 18:05:37

動態編譯ASP.NET

2009-07-22 17:55:52

2009-07-20 17:21:43

Session狀態ASP.NET

2009-08-04 17:30:23

cookieless屬ASP.NET

2009-07-23 16:20:48

HTTP協議ASP.NET

2009-07-30 13:28:55

ASP.NET中的ja

2009-09-11 09:09:00

ASP.NETAdRotator控件

2009-07-31 10:08:33

OutputCache

2009-07-20 13:32:24

ScriptManagASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩精品免费观看 | 日日夜夜影院 | 亚洲欧美中文日韩在线v日本 | 中文字幕免费视频 | 免费一级黄色 | 欧美国产日韩在线观看 | 国产一区二区三区www | 欧美日韩精品国产 | 在线观看午夜视频 | 成人免费日韩 | 日韩一区二区三区在线 | 国产精品免费观看 | 亚洲在线一区二区三区 | 日本一区二区在线视频 | 中文久久 | 亚洲精品乱 | 国产精品久久久久久久模特 | 亚洲精品在线看 | 婷婷中文在线 | 亚洲一区国产精品 | 人妖av| 成人福利电影 | 韩日一区二区 | 黑人性hd | 九九九精品视频 | 国产原创在线观看 | 精品成人佐山爱一区二区 | 国产成人精品综合 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 在线a视频 | 久久精品99 | 久久av影院| 影音先锋中文字幕在线观看 | 国产清纯白嫩初高生视频在线观看 | 91精品国产乱码久久蜜臀 | 婷婷久久五月天 | 日韩精品久久一区二区三区 | 亚洲一区二区三区在线免费 | 日韩一区二区精品 | 午夜影视免费片在线观看 | 天堂久久网 |