ASP.NET中共有哪幾種型別的控制元件?其中,HTML控制元件、HTML伺服器控制元件和WEB伺服器控制元件之間有什麼區別

守望陽光01發表於2017-07-22

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(檢視狀態)中。

相關文章