The Structure of an ASP.NET Page ASP.NET頁面的架構(6部分)
Directives指示<%@ .... %>兩大類Page/Import
Page Directives頁指示
語言指示<%@ Language="C#" %> <%@ Page Language="C#" %>
追蹤指示<%@ Trace="True" %> <%@ Page Trace="True" %>
Trace class的方法: Write() and Warn().兩種方法都可輸出文字,差別在於方法1是正常顯示,文法2是紅色顯示.
範例頁面Listing 1.11 Trace.aspx
調試指示<%@ Debug="True" %> <%@ Page Debug="True" %>
Import Directives導入指示
預設,頁面會自動導入了一部分命名空間,如果需要其它命名空間,必須顯式的導入,如導入System.Web.Mail命名空間<%@ Import Namespace="System.Web.Mail" %>
範例頁面Listing 1.12 ImportNamespace.aspx
Code declaration blocks 程式碼聲明部分
程式碼宣告區包含了頁面對應的應用程式邏輯,所有的公用變數定義,子過程,函數.包含有類似<Script Runat="Server">的標記.
參數1 Language表示語言類型,可選參數2 SRC可以指向一個外部檔案.
<Script Runat="Server" SRC="ApplicationLogic.aspx"/>
<Script Language="C#" Runat="Server">
</Script>
<Script runat="Server">
Sub mySub
...subroutine code
End Sub
</Script>
ASP.NET controls ASP.NET控制區
包含類似<form Runat= "Server">的標記.可以分區到整個頁面各區域.
子元素包含有類型<span Runat="Server"> and <ASP:Label Runat="Server"/>的標記.
對於<form Runat="Server">的標記是很重要的,表示你不可能在一個頁面中包含多個Form.
Code render blocks 程式碼區塊
有inline code and inline expressions 兩種用<% %>
<% strSomeText = "Goodbye!" %>
The value of strSomeText is:
<%=strSomeText%>
Server-side comments 服務端註釋
用<%-- xxxx --%>表示.
<%--
This is inside the comments
<asp:Label Text="hello!" Runat="Server" />
<%= strSomeText %>
--%>
Server-side include directives 服務端包含指示
可以包含外部文件,文件可以是本地的也可以是遠端的.所有的包含代碼被先執行.
<!-- #INCLUDE file="includefile.aspx" -->
<!-- #INCLUDE virtual="/myDirectory/includefile.aspx" -->
不合法的<!-- #INCLUDE file="<%=myVar%>" -->
注意:可以替代服務端包含指示的是使用者控制項.
Literal text and HTML tags 文字及HTML標記區
可以在這部分包含ASP.NET的HTML標記, 靜態部分可以使用舊的HTML標記和文字.可以使用LiteralControl 類別.
<Script Runat="Server">
Sub Page_Load
Dim litControl As LiteralControl
For each litControl in Page.Controls
litControl.Text = strReverse( litControl.Text )
Next
End Sub
</Script>
<html>
<head><title>Literal.aspx</title></head>
<body>
<b>This text is reversed</b>
</body>
</html>