一.內聯代碼與程式碼後置
程式碼後置模型相對內聯代碼的優勢:
1.邏輯代碼和html的分離,使得我們可以更專註於商務邏輯的處理。
2.使商務邏輯更加清晰。
3.可以將後置代碼編譯成dll,使得程式更加安全。
二.後置代碼與頁面的關係和機制
與代碼後置模型相關的三個類。
1.基頁面類 page類
.net類庫中的page類,page類定義了頁面的準系統。例如:允許存放其他控制項、呈現html、提供對asp.net對象的訪問(如request、response、session等)。
2.代碼後置類
在編譯的時候,asp.net利用了部分類別的神奇功能把一些額外的代碼附加到代碼後置類中。
在附加的這部分代碼中,把頁面上所有控制項定義成protected類型的變數,從而使得可以在代碼後置類中能夠訪問這些控制項。
3.頁面類
asp.net編譯器在編譯的時候會建立另一個類代表實際的aspx頁面,這個類繼承自程式碼後置類別。
這個類中包含了初始化控制項和呈現html的代碼。當接受到這個頁面請求時,asp.net執行個體化這個類。
這三各類的關係如:
三.程式碼後置檔案與頁面的串連
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
程式碼後置檔案與頁面的串連非常簡單,在aspx頁面頂端的這樣一句話就完成了他們之間的串連。
codeFile指定了後置代碼的檔案,Inherits指定了已經編譯的後置代碼的類名。
四.控制項與頁面變數的串連
瞭解後置代碼類和頁面類的關係以後,控制項如何和頁面變數串連的理解就簡單多了。
比如:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
asp.net編譯器都會附件如下的變數聲明到你的代碼後置類中,當然這些聲明是不可見的:
protected System.Web.UI.TextBox TextBox1;
這樣就能夠在後置代碼類中訪問頁面控制項標籤了。
五.事件與事件處理常式的串連
.net當中事件機制是一種非常重要的機制,這一部分放到後面慢慢弄清楚。