web控制項和html控制項雖然好多功能相同並且長得很像,但是它們的內部實現機制是完全不一樣的,web控制項要比html控制項執行效率要好。
1. 使用起來也相當方便,舉個簡單的例子,例如button的生成:
html控制項是將龐大控制項集合全部弄到頁面中,用到哪個功能,就設定一下屬性,如下:
這樣會占用相當大的控制項資源
web控制項是將整合式的拆解成單功能的:
這樣就可以節省不必要的控制項所占用的資源了
2.web控制項具有回送功能,能夠用viewstate維持控制項的狀態.
html控制項則不能,當點選頁面的操作,其狀態就會丟失.
可以做這樣的乙個實驗:
i. 分別建立兩個檔案: a.html b.aspx
ii.在a.html頁面中加html控制項的radiobutton和乙個button,
在b.aspx中加web控制項的radiobutton和乙個button
iii.a.html直接雙擊瀏覽器執行,b.aspx通過iis執行
iv.在a.html執行介面中,選中radiobutton,再單擊button按鈕,會發現radiobutton會
取消選中(丟失其狀態),但在b.aspx頁面執行同樣的操作,radiobutton不會丟失,因為viewstate
給它儲存了狀態. 您可以在執行介面點選瀏覽器選單"檢視"->「原始檔",開啟html**檔案,
找到加密後的viewstate,類似於下面:
其實viewstate實現原理也是將一些資訊放到隱藏的乙個控制項中,並且asp.net生成的viewstate資訊是儲存在客戶端的
這裡要注意的一點是:
只有當格式為*.aspx檔案,並且控制項具有屬性:"runat=server"時,回送功能才能開啟
3. html控制項與web控制項最大的區別是它們對事件處理的方法不同。對於html窗體控制項,
當引發乙個事件時,瀏覽器會處理它。但對於web控制項,事件僅由瀏覽器生成,但瀏覽器不會處理它,客戶端要給伺服器發個資訊,告訴伺服器處理事件。 不過有些事件,比如:
按下鍵/移動/滑鼠等事件,asp.net中沒有這些事件
(因為這些事件即時性強,伺服器處理得不夠及時),這時候html控制項就發揮其作用了,結合html事件協助完成.
如下是一些html常用的事件:
在瀏覽器上執行的html控制項事件:
單擊時觸發:
滑鼠彈起時觸發:
//懸浮在控制項上方時觸發
//滑鼠在控制項上方移動時觸發
//雙擊控制項時觸發
//當焦點在控制項時,按鍵時觸發
//按鍵按下時觸發
WEB控制項
新年,把自己剛做的乙個控制項拿出來給大家分享,給自己動手做控制項的朋友切磋切磋。現在在山西長治帶一幫童子軍做乙個警用地理資訊系統,前期一直在做設計,現在專案剛剛進入編碼階段。一日有組員做乙個資料錄入介面,有日期輸入字段。該老弟直接用乙個textbox就完事了,我批評說應該使用日曆控制項讓使用者可以選...
WEB控制項
web控制項 我想了半天也不知道如何定義這個web控制項,它比html控制項難於理解,畢竟html太像原來我們熟悉的東東了。而web控制項確與我們平常見到的有很大的出入,不知道大家還記不記得我說過的一句話,那就是asp.的程式就像是寫vbvc中的視窗,先再這些視窗中加入我們的需要的控制項,然後再對這...
WEB控制項
web控制項 我想了半天也不知道如何定義這個web控制項,它比html控制項難於理解,畢竟html太像原來我們熟悉的東東了。而web控制項確與我們平常見到的有很大的出入,不知道大家還記不記得我說過的一句話,那就是asp.net的程式就像是寫vbvc中的視窗,先再這些視窗中加入我們的需要的控制項,然後...