Html控件和Web控件(转)
作為一名ASP.NET的初學者,了解并且區別一些混淆概念是很必須的,今天這篇博文
就是主要向大家介紹一下Html控件和Web控件。在ASP.net中,用戶界面控件主要就是
Html控件和Web控件,在前臺頁面上看,兩種控件非常相似,那么究竟他們有什么不一
樣呢?他們又分別適用于什么情況呢?這都是我們需要解決的問題。
?
? ? ?(一)首先,先來分別說一說Html控件和Web控件。
?
? ? ??Html控件:它是標準的Html標簽。代碼如下:
?
[html]?view plain?copy
?
?print?
? ? ? ?值得注意的是,HTML控件可以通過修改代碼將其變成服務器端控件,幾乎所有的HT
ML標記只要加上runat="server",這個服務器控件標識屬性后都可以變成服務器端控件。
這與普通HTML標記相比最大的區別在于,服務器端控件可以通過服務器端代碼來控制。
例如:
[html]?view plain?copy
?
?print?
? ??
? ? ? ?Web控件:在這里,我們說的都是Web服務器控件。代碼如下:
?
[html]?view plain?copy
?
?print?
?? ? ? 它類似 HTML 服務器控件,同樣在服務器創建,它在創建時默認有runat="server" 屬性。不過,Web 服務器控件不必映射任何已有的 HTML元素,它們可代表更復雜的元素。
? ? ? ?1.特點:
? ? ? ? ?(1).Web控件是對象,它與對象一樣,擁有方法和屬性,并且響應事件;
? ? ? ? ?(2)當Web控件包含在Web頁中時,就可以設置其屬性并調用其方法;
? ? ? ? ?(3)可以為Web控件編寫服務器端代碼以響應在客戶端上發生的事件。(這點與
Html控件區別,Html控件是不能在服務器端控制的)
? ? ???2.分類:
?
?
? ? ?
? ? ?(二)再者,初步了解了Html和Web控件,我們還需要分析分析兩者之間的區別。
?
? ? ???1.書寫方面:???顯而易見,與Web 服務器控件相比,Html控件沒有 asp標記前綴,而
是使用Input。
? ? ? (1)Web 控件:
[html]?view plain?copy
?
?print?
?
? ? ? (2)Html控件:
[html]?view plain?copy
?
?print?
? ? ????2.響應事件方面:
?
? ? ? (1)Web 控件:Web控件可以響應服務器端事件,可以在后臺代碼中設置相關屬性
和方法等;
? ? ? (2)Html控件:不可以響應服務器端事件,但是也是允許響應用戶操作的事件的。
例如,按鈕控件提供在用戶單擊按鈕時將引發的?click?事件。你可以創建一個稱為事件處
理程序的函數來處理該事件,然后向該控件注冊此事件處理程序。
? ? ? ?關于如何注冊此事件處理程序:一種方法是在HTML 中添加事件處理程序:將控件的
事件屬性設置為?JavaScript?事件處理程序函數或?javascript語句的名稱。另一種方法是
以編程方式添加它。對此我們不做過多解釋,不是本篇的重點。
? ? ??3.編譯處理方面:
? ? ? (1)Web 控件:Web控件需要通過服務器處理后譯為HTML控件再發送給瀏覽器,
所以比較耗費服務器資源,并由于有VIEWSTATE,所以在回送的時候會保持控件狀態(也
可以設置不保存)也因此增加了回送信息量。
? ? ? (2)Html控件:而Html控件則直接發送到瀏覽器,不另耗費服務器資源,但無狀態
保存! ? ??
? ? ???4.獲取值方面:
? ? ? (1)Web 控件:WEB控件可以通過屬性直接處理,
? ? ? (2)Html控件:服務器端要獲得HTML控件的值?? 需要使用REQUEST的FORM?方法!
? ? ?(三)最后,根據以上方面的比較,我們可以得到一些經驗:
? ? ? ?如果你不需要保存狀態,也不需要獲取值,那么可以考慮優先使用Html控件,反之,
如果需要對控件進行動態的處理,并且需要保存其狀態,那么優先使用Web控件。
總結
以上是生活随笔為你收集整理的Html控件和Web控件(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 连接 F5 大 IP 设备
- 下一篇: rsync算法原理及使用