轉帖|其它|編輯:郝浩|2010-09-25 14:04:55.000|閱讀 621 次
概述:asp.net 之所以現在開發方便和快捷,關鍵是它有一組強大的控件庫,包括 web 服務器控件,web 用戶控件,web 自定義控件,html 服務器控件和 html 控件等。這里我主要說說 html 控件、html 服務器控件和 web 服務器控件的區別。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
asp.net 之所以現在開發方便和快捷,關鍵是它有一組強大的控件庫,包括 web 服務器控件,web 用戶控件,web 自定義控件,html 服務器控件和 html 控件等。這里我主要說說 html 控件、html 服務器控件和 web 服務器控件的區別。
1。Html 控件:就是我們通常的說的 html 語言標記,這些語言標記在已往的靜態頁面和其他網頁里存在,不能在服務器端控制的,只能在客戶端通過 javascript 和 vbscript 等
程序語言來控制。
<input type="button" id="btn" value="button"/>
2。Html 服務器控件:其實就是 html 控件的基礎上加上 runat="server"所構成的控件.它們的注意區別是運行方式不同,html 控件運行在客戶端,而 html 服務器控件是運行
在服務器端的。參考其他資料是這樣說的:
當 ASP.NET 網頁執行時,會檢查標注有無 runat 屬性,如果標注沒有設定,那么 Html 標注就會被視為字符串,并被送到字符串流等待送到客戶端,客戶端的瀏覽器會對其進行解釋;如果 Html 標注有設定 runat="server" 屬性,Page 對象會將該控件放入控制器,服務器端的代碼就能對其進行控制,等到控制執行完畢后再將 Html 服務器控件的執行結果轉換成 Html 標注,然后當成字符串流發送到客戶端進行解釋<input id="Button" type="button" value="button" runat="server" />
3。Web 服務器控件:也稱 asp.net 服務器控件,是 Web Form 編程的基本元素,也是 asp.net 所特有的。它會按照 client 的情況產生一個或者多個 html 控件,而不是直接描述 html 元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>那么它和 html 服務器控件有什么區別呢?參照其他網頁的資料看法如下:
l Asp.net 服務器控件提供更加統一的編程接口,如每個 Asp.net 服務器控件都有 Text 屬性。
l 隱藏客戶端的不同,這樣程序員可以把更多的精力放在業務上,而不用去考慮客戶端的瀏覽器是 ie 還是 firefox,或者是移動設備。
l Asp.net 服務器控件可以保存狀態到 ViewState 里,這樣頁面在從客戶端回傳到服務器端或者從服務器端下載到客戶端的過程中都可以保存。
l 事件處理模型不同,Html 標注和 Html 服務器控件的事件處理都是在客戶端的頁面上,而 Asp.net 服務器控件則是在服務器上,舉例來說:
<input id="Button4" type="button" value="button" runat="server"/>是 Html 服務器控件,此時我們點擊此按鈕,頁面不會回傳到服務器端,原因是我們沒有為其定義鼠標點擊事件。
<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我們為 Html 服務器控件添加了一個 onserverclick 事件,點擊此按鈕頁面會發回服務器端,并執行 test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是 Asp.net 服務器控件,并且我們沒有為其定義 click,但是我們點擊時,頁面也會發回到服務器端。
由此可見:Html 標注和 Html 服務器控件的事件是由頁面來觸發的,而 Asp.net 服務器控件則是由頁面把 Form 發回到服務器端,由服務器來處理。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載