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