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

ASP.NET 2.0 頁面框架概述:從靜態 HTML 到動態編譯模型完整演進

     編輯:關於ASP.NET

ASP.NET 頁面框架核心價值

  • 可重用 UI 控制項:封裝共用功能,減少重複程式碼。
  • 清晰邏輯結構:事件驅動模型取代「纏繞的程式碼」。
  • WYSIWYG 設計支援:Visual Studio 設計器即時預覽,ASP 時代無法做到。
  • 動態編譯:.aspx 首次請求編譯為 .NET 類別,後續請求重用型別實例,效能優異。
  • 相容性:語法與傳統 ASP 相容,平滑遷移。

第一個 ASP.NET 頁面:從 HTML 到動態

步驟 1:單純改副檔名

<!-- intro1.aspx -->
<form action="intro1.aspx" method="post">
  <h3>姓名:<input id="Name" type="text"></h3>
  <select id="Category">
    <option>心理學</option>
    <option>商業</option>
  </select>
  <input type="submit" value="查詢">
</form>

結果:點擊查詢,表單資料遺失,因無伺服器端程式碼處理回傳。

步驟 2:加入程式碼呈現區塊

<!-- intro2.aspx -->
<form action="intro2.aspx" method="post">
  <h3>姓名:<input id="Name" type="text"></h3>
  <select id="Category">...</select>
  <input type="submit" value="查詢">
</form>
<p>
<% 
    for (int i = 0; i <= 7; i++) 
    { 
%>
  <font size="<%=i%>">Welcome to ASP.NET</font><br>
<% 
    } 
%>

結果:每次回傳顯示字漸大文字,但表單輸入仍會遺失(無 ViewState)。

步驟 3:加入伺服器控制項

<!-- intro3.aspx -->
<form runat="server">
  <h3>姓名:<asp:TextBox ID="Name" runat="server" /></h3>
  <asp:DropDownList ID="Category" runat="server">
    <asp:ListItem>心理學</asp:ListItem>
    <asp:ListItem>商業</asp:ListItem>
  </asp:DropDownList>
  <asp:Button Text="查詢" runat="server" />
</form>

結果:自動保留使用者輸入(ViewState),無需撰寫任何程式碼。

頁面生命週期關鍵階段

階段事件/方法主要工作
初始化Init, InitComplete建立控制項樹、還原 ViewState、設定主題
載入Load, LoadComplete載入 ViewState/ControlState、處理回傳資料、觸發回傳事件
預渲染PreRender, PreRenderComplete資料繫結、最終調整控制項狀態、儲存 ViewState
渲染Render, RenderControl輸出 HTML 至 Response
釋放Unload清理資源、關閉連線

編譯模型

  • 首次請求:ASP.NET 剖析 .aspx → 產生 Page 衍生類別原始碼 → 編譯為組件 → 載入執行。
  • 後續請求:直接使用已編譯型別實例,極快。
  • 預編譯:發佈前用 aspnet_compiler 預編譯,部署無原始碼、啟動更快。

部署與裝載

  • IIS 虛擬目錄指向專案實體路徑。
  • ASP.NET 註冊 .aspx 對應 aspnet_isapi.dll (IIS 6) 或模組 (IIS 7+)。
  • 支援 web.config 覆寫機制,子目錄可繼承/覆寫設定。

從 ASP 遷移關鍵差異

特性ASP (舊)ASP.NET
程式碼模型內嵌腳本、解譯執行編譯類別、事件驅動
狀態管理手動 Session/CookieViewState、ControlState 自動
元件重用Include 檔案、COM 元件使用者控制項、自訂控制項、組件
錯誤處理On Error Resume Next結構化 try/catch、全域/頁面錯誤事件
效能每次解譯動態編譯、快取、預編譯

結語

ASP.NET 頁面框架以動態編譯、事件驅動、控制項封裝、ViewState 自動狀態管理四大支柱,徹底改變 Web 開發模式。理解從靜態 HTML 逐步加入程式碼區塊、伺服器控制項的演進過程,有助於掌握框架核心運作原理,寫出高效能、好維護的動態網頁應用。

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