第5章ASP.NET對象編程_第1頁
第5章ASP.NET對象編程_第2頁
第5章ASP.NET對象編程_第3頁
第5章ASP.NET對象編程_第4頁
第5章ASP.NET對象編程_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章ASP.NET對象編程

本章主要講解了ASP.NET中幾個數據持久性對象和數據訪問對象的使用。在本章的后半部分列舉了投票系統實例,以重點說明如何使用相關類訪問Access數據庫,并使用數據持久性對象保存數據。投票功能實現流程圖如圖5-1所示。

圖5-1投票功能實現流程圖

ASP.NET的數據持久性對象5.1

ASP.NET的數據訪問對象5.2訪問Access數據庫5.3一個簡單的投票系統5.4防止重復投票技術

5.55.1ASP.NET的數據持久性對象

ASP.NET應用程序以頁面為基礎。在開發過程中,很多情況下會遇到頁面之間數據共享的問題。在ASP.NET中已經提供了一些可以持久化頁面間數據的對象,這些對象包括Session、Cookies、Application以及ViewState等。本章將具體介紹這些對象和使用方法。

5.1.1Session對象簡介 Session是ASP和ASP.NET中用于保持狀態的基于Web服務器的方法。Session允許通過將對象存儲在Web服務器的內存中在整個用戶會話過程中保持任何對象的持久性。Session通常用于執行以下操作。

(1)

存儲需要在整個用戶會話過程中保持其狀態的信息

(2)存儲只需要在頁重新加載過程中或按功能分組的一組頁之間保持其狀態的對象。

Session的優點是它在Web服務器上保持用戶的狀態信息,可供在任何時間從任何頁訪問這些信息。因為瀏覽器并不需要存儲任何這些信息,所以可以使用任何瀏覽器,甚至可以使用PDA或手機這樣的瀏覽器設備。

5.1.2Cookies對象簡介 Cookies是一組保存在客戶端的數據集合,用作InternetCookie的公共儲存庫的目錄。ASP.NET包含兩個內部Cookie集合。

通過HttpRequest的Cookies集合訪問的集合包含以Cookie標頭形式由客戶端傳輸到服務器的Cookie。通過HttpResponse的Cookies集合訪問的集合包含一些新Cookie,這些Cookie在服務器上創建并以Set-Cookie標頭的形式傳輸到客戶端。

5.1.3Application對象簡介 Application對象是System.Web.HttpApplicationState類的實例,對象內保存的信息可以在Web服務整個運行期間保存,并且可以被調用Web服務的所有用戶使用。

如果Web服務類派生自WebService類,那么就可以直接使用Application對象。在Web服務中使用Application對象主要包括以下兩種情況。

1.在Web服務中,將狀態保存到Application對象

2.從Application對象中獲取狀態信息

5.1.4ViewState對象簡介

ViewState屬性提供了一個字典對象。通過獲取狀態信息的字典,從而可以在同一頁的多個請求間保存和還原服務器控件的視圖狀態。5.2ASP.NET的數據訪問對象 在ASP.NET內部,除了提供保存數據的對象之外,還提供了數據訪問的對象,使用這些對象可以處理比較復雜的Web請求信息。

5.2.1訪問Server對象 Server對象是System.Web.HttpServerUtility類的實例,提供了一系列可處理Web請求的方法。通過Server對象,Web服務使用者可以獲取Web服務所在服務器的名稱、物理路徑等。

5.2.2訪問Request對象 同ASP.NETWeb程序一樣,Web服務同樣也可以使用ASP.NET內置的Request對象。通過此對象,客戶可以向Web服務發送HTTP請求信息。

用戶可以通過WebService類的Context屬性來訪問Request對象,Request對象的常用屬性和方法如表5.1所示。

5.2.3訪問Response對象 同Request對象相反,Web服務中的Response對象實現Web服務向客戶發送信息的功能。

同ASP.NET應用程序類似,Web服務中的Response對象也是System.Web.HttpResponse類的實例,不同之處在于,在Web服務中需要通過WebServices類的Context屬性來獲取Response對象。Response對象的常用屬性和方法如表5.2所示。

5.3訪問Access數據庫 Access數據庫是一個小型的數據庫,主要應用于功能較單一的小型系統。Access數據庫具有體積小、容易上手以及便于部署等優點。

在.NET框架中已經提供了一些類可以方便快捷地訪問Access數據庫,這些類被放在System.Data.OleDb命名空間中。

5.3.1System.Data.OleDb命名空間

System.Data.OleDb命名空間是用于OLEDB的.NETFramework數據提供程序,描述了用于訪問托管空間中的OLEDB數據源的類集合。System.Data.OleDb命名空間中的常用類如表5.3所示。

5.3.3讀取數據 讀取數據庫有兩種常用的方法,一種是使用OleDbDataReader類,一次讀取一行數據。另一種是使用OleDbDataAdapter類,把數據填充到DataSet對象的數據集中。

1.使用OleDbDataReader類 2.使用OleDbDataAdapter類

5.3.4使用SQL語句操作數據 使用SQL語句是操作數據的主要方法之一。操作數據包括寫入數據、修改或更新數據和刪除數據等。

使用SQL語句操作數據主要通過OleDbCommand類來實現,在OleDbCommand的構造函數中有兩個參數,第一個表示操作數據的SQL語句,第二個參數表示OleDbConnection對象的實例。示例代碼如下所示:5.4一個簡單的投票系統

本節首先介紹一個簡單的投票系統,投票的數據保存在數據庫中,只保存投票的項目和項目被投的次數。

本系統的實現原理就是,用戶每投一次將在數據庫中為所投項目的次數屬性加1,最終次數屬性的值就是此項目的支持數。整個系統的實現流程如圖5-2所示。

圖5-2簡單投票系統實現流程圖

5.4.1設計投票功能的數據存儲方式 投票功能的數據庫比較簡單,只需要知道要投票的項目和項目被投的次數。為了保證投票項目的唯一性,還要為其設計一個ID屬性。

5.4.2投票項目管理功能

圖5-3投票項目的管理界面

5.4.3投票功能

圖5-4投票界面

5.4.4圖形化顯示投票結果功能

圖5-5投票結果界面

圖5-6投票結果運行界面

5.4.5小結 本節通過實現一個簡單的投票系統,講解了如何訪問Access數據庫。在創建投票系統的過程中,除了訪問Access數據庫之外,

主要還涉及兩個控件的使用,一個是DropDownList下拉列表控件,一個是GridView數據網格控件。

1.DropDownList控件

DropDownList控件是常用的Web服務器端控件之一,主要用于顯示數據列表。

圖5-7DropDownList控件

圖5-8為DropDownList添加選項

2.GridView控件

GridView控件是以網格的形式來顯示數據。有兩種方式在頁面上添加一個GridView控件對象。

圖5-9GridView控件

圖5-10為GridView添加選項5.5防止重復投票技術 大部分的網絡調查都是為某一目的的決策作參考,如果用戶根據自己的愛好反復投票,就導致了投票結果的不準確性。為了防止用戶重復投票,保障投票結果的準確率,從ASP時代就總結出了4種方法:利用Session對象、利用Cookies對象、驗證IP和小范圍調查。

本章將簡要介紹這4種方法,并在下一個復雜投票系統中使用驗證IP的方式防止用戶的投票作弊。

5.5.1利用Session對象

圖5-11利用Session防止作弊流程圖

5.5.2利用Cookies對象

圖5-12利用Cookies防止作弊流程圖

5.5.3驗證IP和登錄時間

圖5-13通過驗證IP防止作弊流程圖

小結 在線投票功能是網站應用程序最常用的功能之一。當網站的管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論