這篇文章主要介紹了asp控件和html控件的概念區(qū)別,不清楚的朋友可以參考下
首先我們說(shuō)說(shuō)二者的概念區(qū)別吧(相信大家都清楚)
1. asp控件是服務(wù)端控件,html是客戶端控件。
2. asp控件在服務(wù)端解析后,會(huì)轉(zhuǎn)化為html控件使得客戶端瀏覽器能夠顯示出來(lái)。也就是說(shuō)最終的產(chǎn)物都是html控件。
3. asp控件只有安裝.netframework的服務(wù)器才能解析的來(lái),而html用java,php,asp都可以。
那么下面說(shuō)說(shuō)二者的功能實(shí)現(xiàn)區(qū)別
1. asp控件是必須發(fā)生頁(yè)面提交的(除非強(qiáng)制取消,見(jiàn)2.),而html控件則可以提交也可以不提交(通過(guò)type屬性設(shè)置)
2. asp控件onclick與onclientclick區(qū)別:onclientclick執(zhí)行客戶端事件響應(yīng)(由javascript控制);onclick執(zhí)行服務(wù)端事件響應(yīng)。
二者的優(yōu)先級(jí):onclientclick > onclick 。
二者同時(shí)存在于asp控件時(shí)舉例:
代碼如下:
需要注意的是當(dāng)我們當(dāng)擊這個(gè)按鈕時(shí),自動(dòng)先執(zhí)行的客戶端,再執(zhí)行服務(wù)器端的.如果客戶端返回的是false,那么服務(wù)器端對(duì)應(yīng)的方法永遠(yuǎn)不會(huì)執(zhí)行.這樣就達(dá)到檢測(cè),只有通過(guò)才去執(zhí)行服務(wù)器端的方法.
也就是說(shuō)如果我們上面寫成:
代碼如下:
那么不管jsdel執(zhí)行的結(jié)要如何.服務(wù)器端對(duì)應(yīng)的btndel_click1方法都永遠(yuǎn)不會(huì)執(zhí)行.因?yàn)閞eturn false使得始終使客戶端返回false
如果我們寫成:
代碼如下:
那么btndel_click1都有會(huì)發(fā)生.同樣也就達(dá)不到效果.也就是說(shuō)你沒(méi)有通過(guò)檢測(cè)也去執(zhí)行服務(wù)器的方法了.所以必須注意了.
3. asp控件的 onclick 與html控件的 onclick 意義不同:前者由服務(wù)端事件響應(yīng),后者由客戶端響應(yīng)。
4. html控件加上runat=server后,與asp控件基本無(wú)異(此時(shí)已轉(zhuǎn)化為服務(wù)端控件了),服務(wù)端就可以響應(yīng)html控件。
5. html控件里的屬性關(guān)鍵字都要是小寫的。所以大家要注意這些細(xì)節(jié)了,小小控件也會(huì)有大學(xué)問(wèn)的,而且b/s開發(fā)較c/s開發(fā)本身就有復(fù)雜度,很多細(xì)節(jié)都是不太一樣的。
更多信息請(qǐng)查看IT技術(shù)專欄