1. 程式人生 > >ASP.NET中共有哪幾種類型的控件?其中,HTML控件、HTML服務器控件和WEB服務器控件之間有什麽區別

ASP.NET中共有哪幾種類型的控件?其中,HTML控件、HTML服務器控件和WEB服務器控件之間有什麽區別

web服務 編程 用戶 控制 什麽 lin bsp 兼容性 check

ASP.NET的控件包括WEB服務器控件、WEB用戶控件、WEB自定義控件、HTML服務器控件和HTML控件。HTML控件、HTML服務器控件和WEB服務器控件之間的區別如下所示。
q HTML控件:這完全是瀏覽器端的HTML標簽控件,例如HTML中常見的單選框表單控件,其HTML代碼如以下代碼所示。
<input type="radio" id="Radio1" value="select1" checked="checked" />
這類控件在服務器端被視為字符串直接發送到瀏覽器端,由瀏覽器進行解析。
q HTML服務器控件:即在HTML控件的基礎上加上“runat”屬性,並將其值設置為“server”。
q WEB服務器控件:也被稱為asp.net服務器控件,是ASP.NET特有的WEB編程元素。該控件運行於服務器端,根據代碼的執行結果生成一個或者多個HTML控件,而不是直接描述HTML控件。WEB服務器控件以“asp:”開頭,後面是控件類型名稱,如以下代碼所示。
<asp:TextBox runat="server" ID="MyTextBox" Text="初始文本" TextMode="MultiLine"></asp:TextBox>
這是使用比較頻繁的TextBox控件,可以看到,這種方式的控件和Windows程序控件非常相似。
【分析】
本題主要考查面試者對ASP.NET中控件概念的熟悉程度。HTML控件、HTML服務器控件和WEB服務器控件是ASP.NET開發中最常用的控件類型,其中HTML控件僅運行於瀏覽器端。
HTML服務器控件和HTML控件的區別是運行方式,ASP.NET運行庫檢查到控件的“runat”屬性為“server”時,其所在的頁面類對象會將該控件放入控制器,服務器端的代碼就能對其進行控制。當服務器端相關的控制代碼執行完畢後,將HTML服務器控件的執行結果轉換成HTML標簽,然後作為字符串發送到瀏覽器端進行解析。
而WEB服務器控件提供更加統一的編程接口,並且編程者無須考慮瀏覽器端的類型、兼容性等情況。WEB服務器控件的事件處理在服務器端,並且可以保存狀態到ViewState(視圖狀態)中。

ASP.NET中共有哪幾種類型的控件?其中,HTML控件、HTML服務器控件和WEB服務器控件之間有什麽區別