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