具體內容可以參考MSDN(ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_aspnetcon/html/81b13e7a-b95b-4285-906f-d2dd77411417.htm)。
在ASP.NET Forums的頁面中使用了代碼隱藏頁模型,但是與典型的代碼隱藏頁模型又稍有區別。
Default.aspx的內容如下:
<%@ Page Language="C#" %>
首先讓我們先熟悉一下Asp.Net的指令語法:指定當頁和用戶控件編譯器處理 ASP.NET Web 窗體頁 (.aspx) 和用戶控件 (.ascx) 文件時所使用的設置。
<%@ Import Namespace="AspNetForums.Components" %>
<%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %>
<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %>
<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/MasterPage.ascx">
<mp:Content id="HeadTag" runat="server">
<meta http-equiv="Refresh" content="300" />
</mp:Content>
<mp:Content id="MainContent" runat="server">
<Forums:ForumGroupView runat="server" />
</mp:Content>
</mp:ContentContainer>
ASP.NET 頁框架支持以下指令:
@ Page 定義 ASP.NET 頁分析器和編譯器使用的特定於頁的屬性。只能包含在 .aspx 文件中。
@ Control 定義 ASP.NET 頁分析器和編譯器使用的控件特定屬性。只能包含在 .ascx 文件(用戶控件)中。
@ Import 將命名空間顯式導入頁或用戶控件中。
@ Register 將別名與命名空間及類名關聯起來,從而允許用戶控件和自定義服務器控件在被包括到請求的頁或用戶控件時呈現。
@ Assembly 在編譯過程中將程序集鏈接到當前頁,以使程序集的所有類和接口都可用在該頁上。
根據指令語法語法我們解讀一下default.aspx:
<%@ Page Language="C#" %>
http://www.knowsky.com指定在對頁中的所有內聯呈現(<% %> 和 <%= %>)和代碼聲明塊進行編譯時使用的語言為C#
<%@ Import Namespace="AspNetForums.Components" %>
將命名空間顯式導入到 ASP.NET網頁中,同時使導入的命名空間的所有類和接口可用於文件。
<%@ Register TagPrefix="Forums" Namespace="AspNetForums.Controls" Assembly="AspNetForums.Controls" %>
創建標記前綴Forums,與程序集AspNetForums.Controls中的命名空間AspNetForums.Controls相關聯。
<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %> (略)
繼續往下看頁面部分,其中主要是MetaBuilders的Master Pages 控件的用法,具體用法可參考venjiang大哥的文章(了解Master Pages庫),類似Asp.Net 2.0中的MasterPage
<mp:ContentContainer runat="server" id="MPContainer" MasterPageFile="~/Themes/MasterPage.ascx">
<mp:Content id="HeadTag" runat="server">
<meta http-equiv="Refresh" content="300" />
</mp:Content>
<mp:Content id="MainContent" runat="server">
<Forums:ForumGroupView runat="server" />
</mp:Content>
</mp:ContentContainer>