Asp.net WebControls基本概念

來源:互聯網
上載者:User
 

定義

       WebControls可以通過拖放放置到asp.net頁面上,支援設計時設定屬性,封裝一些好的WebControls可以極大的提高代碼效率和代碼品質。

幾個概念

       Web控制項陳列庫項目

              建立WebControls在vs中可以建立Web控制項陳列庫項目,改項目下的類檔案預設都繼承自System.Web.UI.WebControls.WebControl

       Render

               建立WebControl要重寫該方法 ,該方法用於向輸出資料流中輸出html,是WebControl在頁面上的顯示。相當於WinForm控制項的OnPrint()

               理解自訂 Web Form控制項的關鍵在於 Render 方法,該方法在概念上與 Windows 表單 OnPaint 方法相同,區別僅在於前者發出 HTML,而後者則發出 GDI 調用。當 ASP.NET 伺服器架構為響應使用者請求而彙編 Web Form頁時,它將建立頁上列出的控制項,設定這些控制項的屬性和持久性資料,然後調用它們的各個 Render 方法。架構實際上是告訴控制項:“你是活動的,並正處於預期的狀態。你需要告訴我你的外觀,因為我沒有別的辦法來瞭解。”Web Form控制項的作者會在 Render 方法中放入一些代碼,以發出 HTML,告知瀏覽器如何根據控制項的目前狀態和屬性,以及與控制項有關的環境中的任何其他資訊來顯示控制項的外觀。

              當 ASP.NET 架構調用控制項的 Render 方法時,將傳遞一個 System.Web.UI.HtmlTextWriter 類型的對象。這在概念上類似於 OnPaint 方法在 Windows 表單控制項中收到的 System.Windows.Forms.PaintEventArgs 的 Graphics 成員。兩者都代表到架構的串連,該架構將輸出定位到其相應的位置。HtmlTextWriter 包含的方法、屬性和常數使得您的控制項能夠將 HTML 發送到將被發送到用戶端瀏覽器的輸出頁上。在範例程式碼中,我首先調用了方法 AddStyleAttribute,該方法在內部建立一個稱為 style 的 HTML 屬性,將其值設定為控制項所繼承的 ForeColor 屬性的值,然後將其添加到內部緩衝區。可以通過對 AddStyleAttribute 方法的附加調用向緩衝區添加 style 屬性的附加值;通過調用 AddAttribute 方法,可以添加其他屬性

       Page.GetPostBackEventReference

               實現該方法需要繼承介面IPostBackEventHandler,用於處理PostBack,可以在這裡面處理檢視狀態也控制項事件。

        方法 Page.GetPostBackEventReference 導致架構產生頁上的 HTML 指令碼,並返回調用它的 HTML 字串

        伺服器端控制項通過實現稱為 IPostBackEventHandler 的介面並重寫 RaisePostBackEvent 方法來接受該輸入通知

    事件處理

        Web Form控制項中的事件處理包括兩個必需的部分,和一個可選的第三部分。首先,控制項的 Render 方法必鬚生成用戶端 HTML,這些 HTML 在用戶端發生您所關注的事件時導致對控制項的回傳。其次,您的控制項必須實現 IPostBackEventHandler 介面,以便 ASP.NET 能夠通知您的控制項它收到了該回傳,並傳遞有關它的附加資訊。接下來是一個可選的部分,您的控制項可以(很可能會選擇)激發 .NET 事件,這樣其他控制項就可以接收所發生的這些事件的通知

    ViewState(檢視狀態)

     這個就不用解釋了

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.