1:ASP.NET複習系列-ASP.NET基本知識點-ASP.NET頁面框架

前言:
在繁忙的工作,日新月異的技術變化中,我們有時候時時刻刻緊隨新技術前進的腳本,卻忽略鞏固自己已經掌握的技術,就如一沙漏,你不停的放裏面放入新的沙粒,但是確沒有鞏固沙漏中孔。。。。。俗話說,溫故而知新,就趁這段時間我們一起好好回顧下自己所學的知識,查漏補缺一下。

一:asp.net頁面的簡介


1:asp.net工作流程
①客戶請求Web頁
②Web 服務尋找指令文件(.aspx)
③ASP.NET 代碼被髮送給公共語言運行時進行編譯
④HTML 流返回給瀏覽器和指令
⑤瀏覽器處理HTML 並顯示頁面務器

二:ASP.NET頁面的執行過程

1.jpg

頁面的一次往返處理:用戶對ServerControl的一次操作,就可能引起頁面的一次往返處理:頁面被提交到服務器端,執行響應的事件處理代碼,重建頁面,然後返回到客戶端
頁面重建:每一次頁面被請求,或者頁面事件被提交到服務器,asp.net運行環境將執行必要的代碼,重建整個頁面,把結果頁面送到瀏覽器,然後拋棄頁面的變量、控件的狀態和
屬性等等頁面信息。

三:頁面事件


以下列表按激發順序提供運行時連線的代理實例:
• Page_Init:初始化值或連接
• Page_Load:出現此事件期間,您可以執行一系列的操作來首次創建ASP.NET 頁面或響應由投遞引起的客戶端事件。在此事件之前,已還原頁面和控件視圖狀態。使用IsPostBack 頁面屬性檢查是否爲首次處理該頁面。如果是首次處理,請執行數據綁定。此外,請讀取並更新控件屬性。
• Page_DataBind:在頁面級別調用DataBind ,也可在單個控件上調用
DataBindPage_PreRender:恰好在保存視圖狀態和呈現控件之前激發PreRender 事件。
• Page_Unload:此事件是執行最終清理工作的合適位置。

非確定事件:
• Page_Error:如果在頁面處理過程中出現未處理的例外,則激發Error 事件。錯誤事
件爲您提供了妥善處理錯誤的機會。
• Page_AbortTransaction:如果要指明交易是成功還是失敗,交易事件非常有用。此
事件通常用於購物車方案,其中此事件可以指示訂購是成功還是失敗。如果已終止
交易,則激發此事件。
• Page_CommitTransaction:如果已成功提交交易,則激發此事件。

Global.asax中的事件:
1: Application_Start 應用程序啓動時激發
2: Application_BeginRequest HTTP請求開始時激發
3: Application_AuthenticateRequest 應用程序批准HTTP請求時激發
4: Session_Start 會話啓動時激發
5: Application_EndRequest HTTP請求結束時激發
6: Session_End 會話結束時激發
7: Application_End 應用程序結束時激發
8: Application_Error 發生錯誤時激發

四:頁面指令


• 頁面指令指定頁面編譯器在處理文件時使用的可選設置。頁面指令位於頁面文件的頂部,使用以下語法:(單文件模式裏面很多指令會用到,比如導入命名空間等…..)
– <%@ directive {attribute=value}* %>
• ASP.NET 頁面支持下列指令:
– @ Page
– @ Implements
– @ Import
– @ Register
– @ Assembly
– @ Reference
– @ OutputCache
@page
• 語法形式如下:
– <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" %>
• 參數
– Language
• 示例:language=“vb”
• 示例:language=“c#”
– Debug
• 指示是否應使用調試符號編譯該頁。如果應使用調試符號編譯該頁,則爲true;否則爲false。
• 示例:debug=“true”
– Buffer
• 確定是否啓用HTTP 響應緩衝。如果啓用頁緩衝,則爲true;否則爲false。默認值爲true。
• 示例:buffer=true
– AutoEventWireup
• 指示頁的事件是否自動連網。如果啓用事件自動連網,則爲true;否則爲false。默認值爲true。
– ErrorPage
• 定義在出現未處理頁異常時用於重定向的目標URL。(處理髮生異常時,跳轉到錯誤頁面)
示例:Errorpage=error.htm
@import
• 命名空間的導入
• 示例:
– <%@ import namespace=“System.NET”%>
– 導入類庫
– 有點相似於#include <stdio.h>
<@register
• 自定義控件聲明
• 示例如下:
– <%@ Register TagPrefix="saidy" TagName="info" Src="con01.ascx" %>

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章