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>