首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 控制項體系完整解析:HTML 標記、HTML 控制項與 Web 伺服器控制項的關係

     編輯:關於ASP.NET

ASP.NET 開發常遇到四個易混淆概念:HTML 標記、HTML 控制項、Web 控制項、ASP.NET 伺服器控制項。釐清它們的關係是掌握 ASP.NET 程式模型的基礎。

四大概念辨析

1. HTML 標記

傳統 HTML 元素,如 <input id="Button1" type="button" value="button" />。純客戶端解析,伺服器端無法直接控制屬性、方法或事件,需配合 JavaScript 操作。

2. HTML 控制項

HTML 標記加上 runat="server":<input id="Button1" type="button" value="button" runat="server" />。

  • 伺服器端執行,Page 物件將其納入控制項集合
  • 伺服器代碼可控制屬性/事件
  • 執行完畢轉換為 HTML 標記輸出至客戶端
  • 命名空間:System.Web.UI.HtmlControls

3. ASP.NET 伺服器控制項 (Web 伺服器控制項)

標準語法:<asp:Button ID="Button2" runat="server" Text="Button" />

  • Web Forms 程式模型基本元素
  • 依客戶端情況生成一或多個 HTML 元素,非直接描述 HTML
  • 命名空間:System.Web.UI.WebControls

Web 伺服器控制項四大核心優勢

  1. 統一程式介面:所有控制項皆有 Text 等通用屬性
  2. 隱藏客戶端差異:自動適配 IE、Firefox、行動裝置等
  3. ViewState 狀態保持:頁面往返間自動保存狀態
  4. 伺服器端事件模型:事件在伺服器處理,非客戶端觸發

事件模型差異實例

控制項類型語法範例點擊行為
HTML 標記<input type="button" ... />純客戶端,無回傳
HTML 控制項 (無事件)<input runat="server" />無回傳 (未定義伺服器事件)
HTML 控制項 (有事件)<input runat="server" onserverclick="test" />回傳伺服器,執行 test(object sender, EventArgs e)
Web 伺服器控制項<asp:Button runat="server" />預設回傳伺服器 (即使未定義 Click)

本質差異:HTML 控制項事件由頁面觸發;Web 控制項由頁面將表單回傳伺服器處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved