隨筆-7  評論-24  文章-102  trackbacks-0


          一、概述
              ASP.NET 提供了完整的服務器端對象模型,可以在運行期間使用。ASP.NET 可以在其環境中把頁面上的所有控件作為對象來訪問。在頁面上使用控件功能,生成 HTML 內容的 ASP.NET 通常稱為 Web 窗體。

              基本上,Web 窗體上控件的狀態信息(包括在文本框中輸入的信息、下拉列表中的選項等)存儲在隱藏的 viewstate 字段中,這個字段是服務器生成的頁面的一部分,并傳送給用戶。后續的操作稱為會送(postback)。



          二、ASP.NET    Web 窗體
            ● 保留文件夾 App_Date,包含數據文件,例如 XML文件或數據庫文件。
            ● 在 ASP.NET 頁面中,只有一個服務器端<form>元素。
            ● runat="server" 表示窗體的處理將在服務器上進行,必須具備,否則窗體不會執行任何操作。
            ● 頂部的 <@% Page %> 標記,定義了頁面特性。


          2.1、流程
            .aspx     布局(HTML)和ASP.NET 代碼。
            .aspx.cs    用于定制窗體操作的代碼。

          預編譯站點流程:
              ● ASP.NET 處理器執行頁面,確定對象創建,以實例化頁面對象模型。
              ● 動態創建一個基類,包括頁面上的控件成員和這件控件的事件處理程序(例如按鈕單擊事件)。
              ● 頁面代碼文件與這個基類合并,構成完整的對象模型。
              ● 編譯所有代碼,并告訴緩存起來。
              ● 生成 HTML,返回給用戶。


          2.2、ASP.NET 中常見的系統對象
           
          Page 對象:頁面自身的方式。

          Request 對象:封裝了由客戶端生成的 HTTP 請求的細節(參數、屬性和數據)。
              ● QueryStrings 屬性收集了 Get 請求發送的數據。
              ● From 屬性收集了 Post 請求發送的數據。
              ● ServerVariable(環境變量)集合中包含服務器和客戶端的系統信息。在 Page 指令里添加屬性 Trace="True" 可以追蹤詳細的環境變量信息。
              ● Params 集合包含了上三種方式的集合。

          Response 對象:響應返回到 HTTP 客戶端的輸出。
              ● Write() 方法可以輸出指定的文本內容。
              ● End() 方法可以使 Web 服務器停止當前的程序并返回結果。
              ● Redirect() 方法可以將頁面重定向到另一頁面。

          Session 對象:作用于會話期的頁面共享信息。
              Session["xxxx"] = 值對象;
              對象 = Session["xxxx"];

          Cookie 對象:保持與客戶端的共享信息方式。對應于 HttpCookie 類。
              Response.Cookies["xxxx"].Value = 字符串變量;
              string xxx = Request.Cookies["xxx"].Value;
             
          Application 對象:作用于應用程序運行期提供共享信息。
              Application["xxxx"] = 值對象;
              值變量 = Application["xxxx"];

          Server 對象:只是封裝了一些 Web 服務器相關的常用方法。
              Server.MapPath("~/");        //返回所在虛擬目錄的物理路徑
              Server.HtmlEncode("xxxx");        //不編譯 HTML 代碼,直接在頁面輸出
              Server.Encode("xxxxx");        //對 URL 地址的特殊字符進行編碼
              Server.Execute("xxxxx");        //執行參數指定的頁面,執行完后返回本頁
              Server.Transfer("xxxx");        //執行參數指定的頁面,執行完后結束



          三、應用程序配置
              應用程序定義為項目中的所有文件,由 Web.config 文件配置。

              第一次創建應用程序(即收到第一個 HTTP 請求時),將創建 Application 對象。此時還將觸發 Application_Start 事件,創建一個 HttpApplication 實例池。每個輸入的請求都會接收到這樣一個實例,執行請求的處理過程。與全局的 Application 對象不同,所有的 HttpApplication 實例完成任務后,就觸發 Application_End 事件,應用程序終止運行,消除 Application 對象。

              在單個用戶使用 Web 應用程序時,會啟動一個會話,與應用程序類似,會話將創建一個用戶特定的 Session 對象,并觸發 Session_Start 事件。在一個會話中,每個請求都將觸發 Application_BeginRequest 和 Application_EndRequest 事件。在一個會話中可以多次觸發這兩個事件訪問應用程序的不同資源。會話可以手動終止,也可以因為沒有后續請求而超時終止。會話種子會觸發 Session_End 事件,消除 Session 對象。



          posted on 2008-10-31 23:16 黃小二 閱讀(338) 評論(0)  編輯  收藏 所屬分類: ASP.NET
          主站蜘蛛池模板: 丹寨县| 招远市| 厦门市| 石城县| 大理市| 休宁县| 岗巴县| 九江市| 会理县| 高碑店市| 彭州市| 泾川县| 福清市| 神农架林区| 三江| 上饶市| 舒城县| 万全县| 珲春市| 奉贤区| 都昌县| 四平市| 东乡| 安图县| 轮台县| 金阳县| 原阳县| 巍山| 江孜县| 调兵山市| 澜沧| 十堰市| 乌拉特后旗| 共和县| 洮南市| 阜南县| 叶城县| 如皋市| 云梦县| 云南省| 乌苏市|