轉(zhuǎn)帖|其它|編輯:郝浩|2010-09-25 14:04:55.000|閱讀 621 次
概述:asp.net 之所以現(xiàn)在開發(fā)方便和快捷,關(guān)鍵是它有一組強(qiáng)大的控件庫,包括 web 服務(wù)器控件,web 用戶控件,web 自定義控件,html 服務(wù)器控件和 html 控件等。這里我主要說說 html 控件、html 服務(wù)器控件和 web 服務(wù)器控件的區(qū)別。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
asp.net 之所以現(xiàn)在開發(fā)方便和快捷,關(guān)鍵是它有一組強(qiáng)大的控件庫,包括 web 服務(wù)器控件,web 用戶控件,web 自定義控件,html 服務(wù)器控件和 html 控件等。這里我主要說說 html 控件、html 服務(wù)器控件和 web 服務(wù)器控件的區(qū)別。
1。Html 控件:就是我們通常的說的 html 語言標(biāo)記,這些語言標(biāo)記在已往的靜態(tài)頁面和其他網(wǎng)頁里存在,不能在服務(wù)器端控制的,只能在客戶端通過 javascript 和 vbscript 等
程序語言來控制。
<input type="button" id="btn" value="button"/>
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í),會(huì)檢查標(biāo)注有無 runat 屬性,如果標(biāo)注沒有設(shè)定,那么 Html 標(biāo)注就會(huì)被視為字符串,并被送到字符串流等待送到客戶端,客戶端的瀏覽器會(huì)對(duì)其進(jìn)行解釋;如果 Html 標(biāo)注有設(shè)定 runat="server" 屬性,Page 對(duì)象會(huì)將該控件放入控制器,服務(wù)器端的代碼就能對(duì)其進(jìn)行控制,等到控制執(zhí)行完畢后再將 Html 服務(wù)器控件的執(zhí)行結(jié)果轉(zhuǎn)換成 Html 標(biāo)注,然后當(dāng)成字符串流發(fā)送到客戶端進(jìn)行解釋<input id="Button" type="button" value="button" runat="server" />
3。Web 服務(wù)器控件:也稱 asp.net 服務(wù)器控件,是 Web Form 編程的基本元素,也是 asp.net 所特有的。它會(huì)按照 client 的情況產(chǎn)生一個(gè)或者多個(gè) html 控件,而不是直接描述 html 元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>那么它和 html 服務(wù)器控件有什么區(qū)別呢?參照其他網(wǎng)頁的資料看法如下:
l Asp.net 服務(wù)器控件提供更加統(tǒng)一的編程接口,如每個(gè) Asp.net 服務(wù)器控件都有 Text 屬性。
l 隱藏客戶端的不同,這樣程序員可以把更多的精力放在業(yè)務(wù)上,而不用去考慮客戶端的瀏覽器是 ie 還是 firefox,或者是移動(dòng)設(shè)備。
l Asp.net 服務(wù)器控件可以保存狀態(tài)到 ViewState 里,這樣頁面在從客戶端回傳到服務(wù)器端或者從服務(wù)器端下載到客戶端的過程中都可以保存。
l 事件處理模型不同,Html 標(biāo)注和 Html 服務(wù)器控件的事件處理都是在客戶端的頁面上,而 Asp.net 服務(wù)器控件則是在服務(wù)器上,舉例來說:
?。糹nput id="Button4" type="button" value="button" runat="server"/>是 Html 服務(wù)器控件,此時(shí)我們點(diǎn)擊此按鈕,頁面不會(huì)回傳到服務(wù)器端,原因是我們沒有為其定義鼠標(biāo)點(diǎn)擊事件。
<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我們?yōu)?Html 服務(wù)器控件添加了一個(gè) onserverclick 事件,點(diǎn)擊此按鈕頁面會(huì)發(fā)回服務(wù)器端,并執(zhí)行 test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是 Asp.net 服務(wù)器控件,并且我們沒有為其定義 click,但是我們點(diǎn)擊時(shí),頁面也會(huì)發(fā)回到服務(wù)器端。
由此可見:Html 標(biāo)注和 Html 服務(wù)器控件的事件是由頁面來觸發(fā)的,而 Asp.net 服務(wù)器控件則是由頁面把 Form 發(fā)回到服務(wù)器端,由服務(wù)器來處理。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載