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