asp.net 中 .ASPX 與.CS檔案的關係

Pearl_Ran發表於2015-09-15

.aspx檔案繼承自.cs檔案

雖然一個 Web 窗體頁由兩個單獨的檔案組成,但這兩個檔案在應用程式執行時形成了一個整體。專案中所有 Web 窗體的程式碼隱藏類檔案都被編譯成由專案生成的動態連結庫 (.dll) 檔案。Web 窗體 .aspx 頁檔案也會被編譯,但編譯的方式稍有不同。當使用者第一次瀏覽到 .aspx 頁時,ASP.NET 自動生成表示該頁的 .NET 類檔案,並將其編譯成另一個 .dll 檔案。為 .aspx 頁生成的類從被編譯成專案 .dll 檔案的程式碼隱藏類繼承。

只要 Web 窗體頁受到請求,此 .dll 檔案就會在伺服器上執行。在執行時,此 .dll 檔案通過動態建立輸出並將其傳送回瀏覽器或客戶端裝置來處理傳入請求和響應。

<%@ Page language=”c#” Codebehind=”WebForm.aspx.cs” Inherits=”MyNamespace.WebForm” %>
Codebehind=”WebForm.aspx.cs” 這一句表示繫結的程式碼檔案

Inherits=”MyNamespace.WebForm” 這句非常重要,它表示頁面繼承的類名稱,也就是CodeBehind的程式碼檔案中的類,這個類必須從System.Web.WebControls.Page派生。

.aspx是設計頁面,而.cs是類頁面,也就是說設計頁面用到的類資訊在這個頁面裡面,其實就是把設計和實現分離開來。
這兩個檔案本來就有不同職責,怎麼會合並?但是肯定是要聯合生成一個檔案。
partial類是類的一部分,顯然完整的類即是把所有此類的partial類合併在一起形成一個完整的類。
加上partial關鍵字就像是分頁的功能,一張紙不夠寫還要寫在另一張上,最後合起來就好了。

相關文章