ASP.NET HTML伺服器控制項和WEB伺服器控制項的區別

來源:互聯網
上載者:User

1、html伺服器控制項:其實就是html控制項的基礎上加上runat="server"所構成的控制項.它們的注意區別是運行方式不同,html控制項運行在用戶端,而html伺服器控制項是運行在伺服器端的。所有的HTML伺服器控制項都繼承HtmlControl類,在該類下,可以分為三種類型:HtmlInputControl(輸入控制項)、HtmlContainerControl(容器控制項)、HtmlImage(圖片控制項)。
2、web伺服器控制項:也稱asp.net伺服器控制項,它能夠比HTML展現更進階的功能,是Web Form編程的基本元素,也是asp.net所特有的。它會按照client的情況產生一個或者多個html控制項,而不是直接描述html元素。如: <asp:Button ID="Button2" runat="server" Text="Button"/>。 
 
3、html伺服器控制項有什麼區別呢?
        1)、Asp.net伺服器控制項提供更加統一的編程介面,如每個Asp.net伺服器控制項都有Text屬性。
       2)、隱藏用戶端的不同,這樣程式員可以把更多的精力放在業務上,而不用去考慮用戶端的瀏覽器是ie還是firefox,或者是行動裝置。
       3)、Asp.net伺服器控制項可以儲存狀態到ViewState裡,這樣頁面在從用戶端回傳到伺服器端或者從伺服器端下載到用戶端的過程中都可以儲存。
       4)、事件處理模型不同,Html標註和Html伺服器控制項的事件處理都是在用戶端的頁面上,而Asp.net伺服器控制項則是在伺服器上。
舉例來說:
<input id = "Botton" type = "button" value = "button" runat = "server"/>
是html伺服器控制項,此時我們點擊此按鈕,頁面不會回傳到伺服器端,原因是我們沒有為其定義滑鼠點擊事件。我們為html伺服器控制項添加一個onserverclick事件:
<input id = "Botton" type = "button" value = "button" runat = "server" onserverclick="test"/>

此時,點擊此按鈕頁面會發回伺服器端,並執行test(objecdt sender,EventArgs e)方法。

下面的代碼:
<asp:Button ID="Button" runat="server" Text="Button"/>
是ASP.NET伺服器控制項,並且我們沒有為其定義click,但是我們點擊時,頁面會發回到伺服器端。
由此可見:html標註和html伺服器控制項的事件是由頁面來觸發的,而asp.net伺服器控制項則是由頁面把form發回到伺服器端,由伺服器來處理。

   轉自[flora]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.