asp.net控件介紹
1、html控件:就是我們通常的說的html語言標(biāo)記,這些語言標(biāo)記在已往的靜態(tài)頁面和其他網(wǎng)頁里存在,不能在服務(wù)器端控制的,只能在客戶端通過javas
2、html服務(wù)器控件:其實(shí)就是html控件的基礎(chǔ)上加上runat="server"所構(gòu)成的控件.它們的注意區(qū)別是運(yùn)行方式不同,html控件運(yùn)行在客戶端,而html服務(wù)器控件是運(yùn)行在服務(wù)器端的。參考其他資料是這樣說的: 當(dāng)ASP.NET 網(wǎng)頁執(zhí)行時(shí),會檢查標(biāo)注有無runat 屬性,如果標(biāo)注沒有設(shè)定,那么Html標(biāo)注就會被視為字符串,并被送到字符串流等待送到客戶端,客戶端的瀏覽器會對其進(jìn)行解釋;如果Html標(biāo)注有設(shè)定runat="server" 屬性,Page 對象會將該控件放入控制器,服務(wù)器端的代碼就能對其進(jìn)行控制,等到控制執(zhí)行完畢后再將Html服務(wù)器控件的執(zhí)行結(jié)果轉(zhuǎn)換成Html標(biāo)注,然后當(dāng)成字符串流發(fā)送到客戶端進(jìn)行解釋
3、web服務(wù)器控件:也稱asp.net服務(wù)器控件,是Web Form編程的基本元素,也是asp.net所特有的。它會按照client的情況產(chǎn)生一個(gè)或者多個(gè)html控件,而不是直接描述html元素。如:
那么它和html服務(wù)器控件有什么區(qū)別呢?參照其他網(wǎng)頁的資料看法如下:
1、 Asp.net服務(wù)器控件提供更加統(tǒng)一的編程接口,如每個(gè)Asp.net服務(wù)器控件都有Text屬性。
2、 隱藏客戶端的不同,這樣程序員可以把更多的精力放在業(yè)務(wù)上,而不用去考慮客戶端的瀏覽器是ie還是firefox,或者是移動設(shè)備。
3、 Asp.net服務(wù)器控件可以保存狀態(tài)到ViewState里,這樣頁面在從客戶端回傳到服務(wù)器端或者從服務(wù)器端下載到客戶端的過程中都可以保存。
4、 事件處理模型不同,Html標(biāo)注和Html服務(wù)器控件的事件處理都是在客戶端的頁面上,而Asp.net服務(wù)器控件則是在服務(wù)器上,舉例來說:
是Html服務(wù)器控件,此時(shí)我們點(diǎn)擊此按鈕,頁面不會回傳到服務(wù)器端,原因是我們沒有為其定義鼠標(biāo)點(diǎn)擊事件。
我們?yōu)镠tml服務(wù)器控件添加了一個(gè)on
是Asp.net服務(wù)器控件,并且我們沒有為其定義click,但是我們點(diǎn)擊時(shí),頁面也會發(fā)回到服務(wù)器端。
由此可見:Html標(biāo)注和Html服務(wù)器控件的事件是由頁面來觸發(fā)的,而Asp.net服務(wù)器控件則是由頁面把Form發(fā)回到服務(wù)器端,由服務(wù)器來處理。
聯(lián)系客服