一個ASP.NET頁面由許多伺服器控制項以及HTML控制項、文本和圖像組成。頁中的敏感數據和頁上不同控制項的狀態存儲在構成該頁請求上下文的隱藏欄位中。
NET運行時控制頁實例與其狀態之間的關聯。ASP.NET頁是該頁的對象或從中繼承的對象。
頁面上的所有控制項也是從父控制項類繼承的相關控制項類的對象。運行頁時,將創建對象頁的實例及其所有內容控制項。
ASP.NET頁也是以.aspx擴展名保存的伺服器端文件。它本質上是模塊化的,可分爲以下核心部分:
- Page Directives
- Code Section
- Page Layout
Page Directives
頁面指令設置頁面運行的環境。@Page指令定義ASP.NET頁分析器和編譯器使用的頁特定屬性。頁面指令指定如何處理頁面,以及需要對頁面進行哪些假設。
它允許導入命名空間、加載程序集以及使用自定義標記名和命名空間前綴註冊新控制項。
Code Section
代碼部分提供頁面和控制項事件的處理程序以及所需的其他函數。我們提到,ASP.NET遵循一個對象模型。現在,這些對象在用戶界面上發生某些事件時引發事件,如用戶單擊按鈕或移動光標。這些事件需要進行響應的類型在事件處理程序函數中進行編碼。事件處理程序只是綁定到控制項的函數。
代碼部分或代碼隱藏文件提供了所有這些事件處理程序例程以及開發人員使用的其他函數。頁代碼可以預編譯並以二進位程序集的形式部署。
Page Layout
頁面布局提供頁面的界面。它包含伺服器控制項、文本、內聯JavaScript和HTML標記。
下面的代碼片段提供了一個示例ASP.NET頁面,解釋用C#編寫的頁面指令、代碼節和頁面布局:
<!-- directives --> <% @Page Language="C#" %> <!-- code section --> <script runat="server"> private void convertoupper(object sender, EventArgs e) { string str = mytext.Value; changed_text.InnerHtml = str.ToUpper(); } </script> <!-- Layout --> <html> <head> <title> Change to Upper Case </title> </head> <body> <h3> Conversion to Upper Case </h3> <form runat="server"> <input runat="server" id="mytext" type="text" /> <input runat="server" id="button1" type="submit" value="Enter..." OnServerClick="convertoupper"/> <hr /> <h3> Results: </h3> <span runat="server" id="changed_text" /> </form> </body> </html>
將此文件複製到web伺服器根目錄。通常是c:\ iNETput\wwwroot。從瀏覽器中打開文件以執行它,它將生成以下結果:
Using Visual Studio IDE
讓我們使用Visual Studio IDE開發相同的示例。您只需將控制項拖到「設計」視圖中,而不必鍵入代碼:
內容文件是自動開發的。您只需要添加一個按鈕1_Click例程,如下所示:
protected void Button1_Click(object sender, EventArgs e) { string buf = TextBox1.Text; changed_text.InnerHtml = buf.ToUpper(); }
內容文件代碼如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="firstexample._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title> Untitled Page </title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" runat="server" style="width:224px"> </asp:TextBox> <br /> <br /> <asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" /> <hr /> <h3> Results: </h3> <span runat="server" id="changed_text" /> </div> </form> </body> </html>
在設計視圖上單擊滑鼠右鍵,然後從彈出菜單中選擇「在瀏覽器中查看」,即可執行該示例。這將生成以下結果: