標籤:style blog http color io 使用 ar for 檔案
建立一個asp檔案
1 <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="test.WebForm1" %> 2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"> 6 <head runat="server"> 7 <title></title> 8 </head> 9 <body>10 <form id="form1" runat="server">11 <div>12 13 </div>14 </form>15 </body>16 </html>
一、ASP.NET頁面
一個ASP.NET頁面(或者稱為ASP.NET表單)由以下幾個部分組成:
1、指令
(包括@Page、@Import、@OutputCache、@Implements、@Register、@Master、@Control…)
2、Head(HTML文檔頭)
3、Body(HTML文檔體)
表單元素(form)
控制項(html標記、伺服器控制項標記)
4、代碼(用戶端代碼,服務端代碼)
ASP.NET表單頁網頁指令控制Web表單頁的行為。網頁指令都是以@開頭的。
這些指令較多,介紹最重要的@Page指令,它說明該.aspx頁面是一個HTML表單。Language屬性說明該頁面處理常式使用的是哪種語言,CodeFile屬性說明該頁面的程式 存放在哪個程式碼後置頁檔案中,Inherit屬性說明該頁面是由哪個類負責處理的。如:
<%@ Page Language="C#" % CodeFile=”Default.aspx” Inherit=”Default”>
<form>元素:如果頁麵包含允許使用者互動並提交的控制項,則該頁面必須包含一個form元素。form元素必須包含runat屬性,其屬性值設定為server。對於ASP.NET而言一個頁面有且只能一個<form runat=”server”>標記。
二、ASP.NET頁面代碼模型
ASP.NET中每一個頁面都有一個類負責對頁面的各種操作進行處理,因此.Net Framework把常用的通用功能抽取出來形成一個基類:System.Web.UI.Page。我們所編寫的每一個ASP.NET頁面都應當從這個類繼承。
ASP.NET頁面的代碼模型主要的有兩種:
1、內建代碼模型:標記伺服器端元素以及事件處理代碼全都位於同一個.aspx檔案中。在對該頁進行編譯時間,編譯器將產生和編譯一個從Page基類派生的新類。產生的類將編譯成程式集,並將該程式集載入到應用程式定義域,然後對該頁類進行執行個體化,並執行該頁類以將輸出內容呈現到瀏覽器。圖1為內建代碼模型頁面中的頁類的繼承模型。
簡單說就是:aspx檔案請求到伺服器進行編譯過程
2、後台代碼(程式碼後置)模型:頁面中的標記和伺服器端元素(包括控制項聲明)位於.aspx檔案中,而頁代碼則位於單獨的程式碼後置檔案(.aspx.vb)中。該程式碼後置檔案包含一個部分類別,即具有關鍵字partial的類聲明,以表示該程式碼後置檔案只包含構成該頁的完整類的全體代碼的一部分。在部分類別中,添加應用程式要求該頁所具有的代碼,此代碼通常由事件處理常式構成,但是也可以包括使用者需要的任何方法或屬性。
程式碼後置頁的繼承模型2所示 :
(1)程式碼後置檔案包含一個繼承自基頁類的部分類別。基頁類可以是Page類,也可以是從Page派生的其他類。
(2).aspx檔案在@Page指令中包含一個指向程式碼後置部分類別的Inherits屬性。
(3)在對該頁進行編譯時間,ASP.NET將基於.aspx的檔案產生一個部分類別,產生的部分類檔案包含頁控制項的聲明、事件註冊等。使用此部分類別,可以將程式碼後置檔案用作完整類的一部分,而無須顯式聲明控制項。
(4)步驟(3)中產生的部分類和.aspx.cs檔案中的部分類代碼合并,產生該頁所需的完整代碼,編譯成程式集,運行該程式集可以將輸出呈現到瀏覽器。
asp.net (一) 文法