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

ASP.NET自定義控件入門淺析

開發 后端
ASP.NET自定義控件是什么呢?具體的常用使用屬性都有什么呢?ASP.NET自定義控件的這些屬性主要的功能是什么呢?本文就向你介紹這方面的內容。
ASP.NET自定義控件入門需要掌握什么內容呢?開始我們的講述吧:

ASP.NET自定義控件的必要性:在服務器端中執行程序邏輯的組件,是ASP.NET 應用程序的基本構造塊。為了能夠在ASP.NET環境執行,必須滿足一定條件。

為了能夠參與到網頁框架執行,需要滿足IComponent, IDisposable, IParserAccessor,   IdataBindingsAccessor等接口。所以框架提供System.Web.Control類供控件開發者繼承。

  1. IComponent//提供組件所需的基本功能,接口實現為:  
  2.  
  3.         {  
  4.  
  5.         ISite Site {getset;}//提供站點接口,組件可以通過此接口訪問容器  
  6.  
  7.         event EventHandler Disposed;        //事件  
  8.  
  9. }  

如果實現了此接口,就成為可設計組件,可加入到可視化設計器工具箱,能夠脫放到頁面(Isite接口)中,屬性瀏覽器中顯示屬性。

IDisposable 接口實現組件自身資源釋放(Icomponent實際上繼承自IDisposable )

IParserAccessor 該接口規定AddParsedSubObject(object obj)方法用于通知服務器控件已分析元素(XML 或 HTML)。分析元素時,元素被識別為實現該接口的服務器控件的子級。這些元素將被轉換為對象。實現該接口時,所創建的控件在被通知已分析元素后立即定義要發生的處理。

  1. IDataBindingsAccessor //接口允許在設計時訪問控件的數據綁定表達式集合。  
  2.  
  3. {  
  4.  
  5.        DataBindingCollection DataBindings {get;}// 指示控件的所有數據綁定的集合。此屬性為只讀。  
  6.  
  7. bool HasDataBindings {get;} //返回控件是否包含任何數據綁定邏輯。  
  8.  

繼承自Control的WebControl類為表現HTML(畢竟最后用戶看到的是HTML)而在Control類中加入了一些新的功能,如樣式、字體、背景、前景。。。

ASP.NET自定義控件之Control類的定義:

◆公共屬性:

ClientID 獲取由 ASP.NET 生成的服務器控件標識符。

Controls 獲取 ControlCollection 對象,該對象表示 UI 層次結構中指定服務器控件的子控件。

EnableViewState 獲取或設置一個值,該值指示服務器控件是否向發出請求的客戶端保持自己的視圖狀態以及它所包含的任何子控件的視圖狀態。

ID 獲取或設置分配給服務器控件的編程標識符。

NamingContainer 獲取對服務器控件的命名容器的引用,此引用創建唯一的命名空間,以區分具有相同 Control.ID 屬性值的服務器控件。

Page 獲取對包含服務器控件的 Page 實例的引用。

Parent 獲取對頁 UI 層次結構中服務器控件的父控件的引用。

Site 獲取有關服務器控件所屬 Web 站點的信息(原文自MSDN,但是我認為不對,應該是指組件的“容器”站點,并非 web site)。

TemplateSourceDirectory 獲取包含當前服務器控件的 Page 或 UserControl 的虛擬目錄。

UniqueID 獲取服務器控件的唯一的、以分層形式限定的標識符。

Visible 獲取或設置一個值,該值指示服務器控件是否作為 UI 呈現在頁上。

◆公共方法

DataBind 將數據源綁定到被調用的服務器控件及其所有子控件。

Dispose 使服務器控件得以在從內存中釋放之前執行最后的清理操作。

Equals(從 Object 繼承) 已重載。確定兩個 Object 實例是否相等。

FindControl 已重載。在當前的命名容器中搜索指定的服務器控件。

GetHashCode(從 Object 繼承) 用作特定類型的哈希函數,適合在哈希算法和數據結構(如哈希表)中使用。

GetType(從 Object 繼承) 獲取當前實例的 Type。

HasControls 確定服務器控件是否包含任何子控件。

RenderControl 將服務器控件的內容輸出到所提供的 HtmlTextWriter 對象中;如果已啟用跟蹤功能,則存儲有關控件的跟蹤信息。

ResolveUrl 根據傳遞給 TemplateSourceDirectory 屬性的值,將相對 URL 解析為絕對 URL。

ToString(從 Object 繼承) 返回表示當前 Object 的 String。

◆公共事件

DataBinding 當服務器控件綁定到數據源時發生。

Disposed 當從內存釋放服務器控件時發生,這是請求 ASP.NET 頁時服務器控件生存期的最后階段。

Init 當服務器控件初始化時發生;初始化是控件生存期的第一步。服務器控件應執行任何創建和設置實例所需的初始化步驟。在該事件內無法使用視圖狀態信息;它尚未填充。在該事件的生存期內不應訪問其他服務器控件,不論它是此控件的子級還是父級。不一定會創建其他服務器控件,也不一定能夠訪問它們。

Load 當服務器控件加載到 Page 對象中時發生。通知服務器控件執行任何設置為在每次頁請求時發生的處理步驟。開發者可以訪問視圖狀態信息并利用該事件形成 POST 數據。還可以訪問頁控件層次結構內的其他服務器控件。

PreRender 當服務器控件將要呈現給其包含的 Page 對象時發生。使用該事件在服務器控件呈現給頁的輸出之前執行任何更新。在該事件的生存期內可以保存服務器控件視圖狀態的任何更改。不保存呈現階段內所做的同樣更改。

Unload 當服務器控件從內存中卸載時發生。

ASP.NET自定義控件之受保護的屬性和方法有:

◆保護的屬性

ChildControlsCreated 獲取一個值,該值指示是否已創建服務器控件的子控件。

Context 為當前 Web 請求獲取與服務器控件關聯的 HttpContext 對象。

Events 獲取控件的事件處理程序委托列表。此屬性為只讀。

HasChildViewState 獲取一個值,該值指示當前服務器控件的子控件是否具有任何已保存的視圖狀態設置。

IsTrackingViewState 獲取一個值,該值指示服務器控件是否將更改保存到其視圖狀態。

ViewState 獲取狀態信息的字典,這些信息使您可以在同一頁的多個請求間保存和還原服務器控件的視圖狀態。

ViewStateIgnoresCase 獲取一個值,該值指示 StateBag 對象是否不區分大小寫。

◆受保護的方法

AddParsedSubObject 通知服務器控件某個元素(XML 或 HTML)已經過語法分析,并將該元素添加到服務器控件的 ControlCollection 對象。

ClearChildViewState 刪除服務器控件的所有子控件的視圖狀態信息。

CreateChildControls 通知使用基于合成的實現的服務器控件創建它們包含的任何子控件,以便為回發或呈現做準備。

CreateControlCollection 創建一個新的 ControlCollection 對象來保存服務器控件的子控件(包括文本控件和服務器控件)。

EnsureChildControls 確定服務器控件是否包含子控件。如果不包含,則創建子控件。

Finalize(從 Object 繼承) 已重寫。允許 Object 在“垃圾回收”回收 Object 之前嘗試釋放資源并執行其他清理操作。

IsLiteralContent 確定服務器控件是否只包含文字內容。ASP.NET頁面中普通的html標簽被ASP.NET編譯為一個 LiteralContent控件(意味著輕型控件)。

LoadViewState 從 SaveViewState 方法保存的上一個頁請求還原視圖狀態信息。

MapPathSecure 如果請求服務器控件有足夠的安全權限讀取映射結果,檢索相對于源文件的映射物理文件路徑。

MemberwiseClone(從 Object 繼承) 創建當前 Object 的淺表副本。

OnBubbleEvent 確定服務器控件的事件是否沿頁的 UI 服務器控件層次結構向上傳遞。

OnDataBinding 引發 DataBinding 事件。

OnInit 引發 Init 事件。

OnLoad 引發 Load 事件。

OnPreRender 引發 PreRender 事件。

OnUnload 引發 Unload 事件。 注意   在服務器控件生存期的此階段,服務器控件應執行所有最后的清理操作,例如關閉文件、關閉數據庫連接和丟棄對象。

RaiseBubbleEvent 將所有事件源及其信息分配給控件的父級。

Render 將服務器控件內容發送到提供的 HtmlTextWriter 對象,此對象編寫將在客戶端呈現的內容。

RenderChildren 將服務器控件子級的內容輸出到提供的 HtmlTextWriter 對象,此對象編寫將在客戶端呈現的內容。

SaveViewState 保存自頁回發到服務器后發生的任何服務器控件視圖狀態更改。

TrackViewState 導致跟蹤服務器控件的視圖狀態的更改,以便這些更改可以存儲到服務器控件的 StateBag 對象中。通過 Control.ViewState 屬性可訪問此對象。

了解了Control這個“基石”,我們可以了解到,編寫服務器組件就是在此基石上建造,同時我們可以調用的方法、數據,可以截獲的事件都列出,以上數據成員是我們編寫服務器控件的“輸入數據”(當然還可以有其他輸入數據,但是主要數據在此);以上方法是幫助我們操控控件以及控件同外部交互,事件為我們“感知”外部交互提供時機;另外,服務器控件也需要被容器調用相關方法(譬如render),我們可以重寫這些方法,修改Control的缺省GUI表現。

ASP.NET自定義控件的相關介紹就向你講解到這里,希望對你學習ASP.NET自定義控件有所幫助。

責任編輯:仲衡 來源: cnblogs
相關推薦

2009-08-06 17:13:56

ASP.NET自定義控

2009-07-28 09:32:41

ASP.NET自定義控

2009-08-06 09:18:01

ASP.NET自定義控ASP.NET控件開發

2009-08-06 17:52:45

ASP.NET控件開發自定義控件

2009-07-31 10:23:09

ASP.NET源碼DateTimePic

2011-04-19 10:33:16

ASP.NET自定義控

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-07 17:49:44

控件設計器

2009-08-07 15:24:16

ASP.NET模板控件

2009-08-01 12:00:15

ASP.NET服務器自ASP.NET服務器ASP.NET

2009-08-05 17:58:53

自定義集合ASP.NET 2.0

2009-08-03 15:08:00

SqlDataSour

2011-05-19 10:16:27

ASP.NET

2009-08-07 11:12:58

ASP.NET控件開發

2009-08-04 13:35:16

ASP.NET自定義樣

2009-07-24 09:57:25

ASP.NET HTM

2009-08-07 16:32:52

ASP.NET控件設計時支

2009-08-07 17:59:35

控件設計器

2009-08-04 15:20:59

ASP.NET數據驗證數據驗證控件

2009-08-07 15:34:15

ASP.NET數據綁定
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日日射影院 | 亚洲精选一区 | 国产精品久久久久久久久久久久久久 | 中文字幕精品视频 | 日韩av免费在线观看 | 国产成人综合在线 | 一区二区在线免费观看 | 日韩av在线一区二区 | 国产精品福利在线观看 | 热99| 台湾a级理论片在线观看 | 国产精品色| 欧美成年网站 | 一区二区三区国产 | 国产在线对白 | 国产欧美一区二区三区久久手机版 | 国产精品视频久久 | 国产第一页在线观看 | 久久久影院 | 欧美bondage紧缚视频 | 中文字幕精品视频在线观看 | 日日碰狠狠躁久久躁婷婷 | 新超碰97 | 成人国产精品色哟哟 | m豆传媒在线链接观看 | 91精品国产综合久久婷婷香蕉 | 国产精品久久久久久久久久不蜜臀 | 五月天婷婷久久 | av天天干 | 国产成人99久久亚洲综合精品 | 国产偷录视频叫床高潮对白 | 亚洲一区二区三区在线播放 | 欧美一区二区三区在线看 | av在线播放网站 | 看片wwwwwwwwwww| 久热伊人 | 亚洲精品二区 | 在线色网 | 91久久| 人人看人人草 | 成人在线中文字幕 |