




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第5章ASP.NET對象編程
本章主要講解了ASP.NET中幾個數(shù)據(jù)持久性對象和數(shù)據(jù)訪問對象的使用。在本章的后半部分列舉了投票系統(tǒng)實例,以重點說明如何使用相關(guān)類訪問Access數(shù)據(jù)庫,并使用數(shù)據(jù)持久性對象保存數(shù)據(jù)。投票功能實現(xiàn)流程圖如圖5-1所示。
圖5-1投票功能實現(xiàn)流程圖
ASP.NET的數(shù)據(jù)持久性對象5.1
ASP.NET的數(shù)據(jù)訪問對象5.2訪問Access數(shù)據(jù)庫5.3一個簡單的投票系統(tǒng)5.4防止重復投票技術(shù)
5.55.1ASP.NET的數(shù)據(jù)持久性對象
ASP.NET應用程序以頁面為基礎(chǔ)。在開發(fā)過程中,很多情況下會遇到頁面之間數(shù)據(jù)共享的問題。在ASP.NET中已經(jīng)提供了一些可以持久化頁面間數(shù)據(jù)的對象,這些對象包括Session、Cookies、Application以及ViewState等。本章將具體介紹這些對象和使用方法。
5.1.1Session對象簡介 Session是ASP和ASP.NET中用于保持狀態(tài)的基于Web服務器的方法。Session允許通過將對象存儲在Web服務器的內(nèi)存中在整個用戶會話過程中保持任何對象的持久性。Session通常用于執(zhí)行以下操作。
(1)
存儲需要在整個用戶會話過程中保持其狀態(tài)的信息
(2)存儲只需要在頁重新加載過程中或按功能分組的一組頁之間保持其狀態(tài)的對象。
Session的優(yōu)點是它在Web服務器上保持用戶的狀態(tài)信息,可供在任何時間從任何頁訪問這些信息。因為瀏覽器并不需要存儲任何這些信息,所以可以使用任何瀏覽器,甚至可以使用PDA或手機這樣的瀏覽器設(shè)備。
5.1.2Cookies對象簡介 Cookies是一組保存在客戶端的數(shù)據(jù)集合,用作InternetCookie的公共儲存庫的目錄。ASP.NET包含兩個內(nèi)部Cookie集合。
通過HttpRequest的Cookies集合訪問的集合包含以Cookie標頭形式由客戶端傳輸?shù)椒掌鞯腃ookie。通過HttpResponse的Cookies集合訪問的集合包含一些新Cookie,這些Cookie在服務器上創(chuàng)建并以Set-Cookie標頭的形式傳輸?shù)娇蛻舳恕?/p>
5.1.3Application對象簡介 Application對象是System.Web.HttpApplicationState類的實例,對象內(nèi)保存的信息可以在Web服務整個運行期間保存,并且可以被調(diào)用Web服務的所有用戶使用。
如果Web服務類派生自WebService類,那么就可以直接使用Application對象。在Web服務中使用Application對象主要包括以下兩種情況。
1.在Web服務中,將狀態(tài)保存到Application對象
2.從Application對象中獲取狀態(tài)信息
5.1.4ViewState對象簡介
ViewState屬性提供了一個字典對象。通過獲取狀態(tài)信息的字典,從而可以在同一頁的多個請求間保存和還原服務器控件的視圖狀態(tài)。5.2ASP.NET的數(shù)據(jù)訪問對象 在ASP.NET內(nèi)部,除了提供保存數(shù)據(jù)的對象之外,還提供了數(shù)據(jù)訪問的對象,使用這些對象可以處理比較復雜的Web請求信息。
5.2.1訪問Server對象 Server對象是System.Web.HttpServerUtility類的實例,提供了一系列可處理Web請求的方法。通過Server對象,Web服務使用者可以獲取Web服務所在服務器的名稱、物理路徑等。
5.2.2訪問Request對象 同ASP.NETWeb程序一樣,Web服務同樣也可以使用ASP.NET內(nèi)置的Request對象。通過此對象,客戶可以向Web服務發(fā)送HTTP請求信息。
用戶可以通過WebService類的Context屬性來訪問Request對象,Request對象的常用屬性和方法如表5.1所示。
5.2.3訪問Response對象 同Request對象相反,Web服務中的Response對象實現(xiàn)Web服務向客戶發(fā)送信息的功能。
同ASP.NET應用程序類似,Web服務中的Response對象也是System.Web.HttpResponse類的實例,不同之處在于,在Web服務中需要通過WebServices類的Context屬性來獲取Response對象。Response對象的常用屬性和方法如表5.2所示。
5.3訪問Access數(shù)據(jù)庫 Access數(shù)據(jù)庫是一個小型的數(shù)據(jù)庫,主要應用于功能較單一的小型系統(tǒng)。Access數(shù)據(jù)庫具有體積小、容易上手以及便于部署等優(yōu)點。
在.NET框架中已經(jīng)提供了一些類可以方便快捷地訪問Access數(shù)據(jù)庫,這些類被放在System.Data.OleDb命名空間中。
5.3.1System.Data.OleDb命名空間
System.Data.OleDb命名空間是用于OLEDB的.NETFramework數(shù)據(jù)提供程序,描述了用于訪問托管空間中的OLEDB數(shù)據(jù)源的類集合。System.Data.OleDb命名空間中的常用類如表5.3所示。
5.3.3讀取數(shù)據(jù) 讀取數(shù)據(jù)庫有兩種常用的方法,一種是使用OleDbDataReader類,一次讀取一行數(shù)據(jù)。另一種是使用OleDbDataAdapter類,把數(shù)據(jù)填充到DataSet對象的數(shù)據(jù)集中。
1.使用OleDbDataReader類 2.使用OleDbDataAdapter類
5.3.4使用SQL語句操作數(shù)據(jù) 使用SQL語句是操作數(shù)據(jù)的主要方法之一。操作數(shù)據(jù)包括寫入數(shù)據(jù)、修改或更新數(shù)據(jù)和刪除數(shù)據(jù)等。
使用SQL語句操作數(shù)據(jù)主要通過OleDbCommand類來實現(xiàn),在OleDbCommand的構(gòu)造函數(shù)中有兩個參數(shù),第一個表示操作數(shù)據(jù)的SQL語句,第二個參數(shù)表示OleDbConnection對象的實例。示例代碼如下所示:5.4一個簡單的投票系統(tǒng)
本節(jié)首先介紹一個簡單的投票系統(tǒng),投票的數(shù)據(jù)保存在數(shù)據(jù)庫中,只保存投票的項目和項目被投的次數(shù)。
本系統(tǒng)的實現(xiàn)原理就是,用戶每投一次將在數(shù)據(jù)庫中為所投項目的次數(shù)屬性加1,最終次數(shù)屬性的值就是此項目的支持數(shù)。整個系統(tǒng)的實現(xiàn)流程如圖5-2所示。
圖5-2簡單投票系統(tǒng)實現(xiàn)流程圖
5.4.1設(shè)計投票功能的數(shù)據(jù)存儲方式 投票功能的數(shù)據(jù)庫比較簡單,只需要知道要投票的項目和項目被投的次數(shù)。為了保證投票項目的唯一性,還要為其設(shè)計一個ID屬性。
5.4.2投票項目管理功能
圖5-3投票項目的管理界面
5.4.3投票功能
圖5-4投票界面
5.4.4圖形化顯示投票結(jié)果功能
圖5-5投票結(jié)果界面
圖5-6投票結(jié)果運行界面
5.4.5小結(jié) 本節(jié)通過實現(xiàn)一個簡單的投票系統(tǒng),講解了如何訪問Access數(shù)據(jù)庫。在創(chuàng)建投票系統(tǒng)的過程中,除了訪問Access數(shù)據(jù)庫之外,
主要還涉及兩個控件的使用,一個是DropDownList下拉列表控件,一個是GridView數(shù)據(jù)網(wǎng)格控件。
1.DropDownList控件
DropDownList控件是常用的Web服務器端控件之一,主要用于顯示數(shù)據(jù)列表。
圖5-7DropDownList控件
圖5-8為DropDownList添加選項
2.GridView控件
GridView控件是以網(wǎng)格的形式來顯示數(shù)據(jù)。有兩種方式在頁面上添加一個GridView控件對象。
圖5-9GridView控件
圖5-10為GridView添加選項5.5防止重復投票技術(shù) 大部分的網(wǎng)絡(luò)調(diào)查都是為某一目的的決策作參考,如果用戶根據(jù)自己的愛好反復投票,就導致了投票結(jié)果的不準確性。為了防止用戶重復投票,保障投票結(jié)果的準確率,從ASP時代就總結(jié)出了4種方法:利用Session對象、利用Cookies對象、驗證IP和小范圍調(diào)查。
本章將簡要介紹這4種方法,并在下一個復雜投票系統(tǒng)中使用驗證IP的方式防止用戶的投票作弊。
5.5.1利用Session對象
圖5-11利用Session防止作弊流程圖
5.5.2利用Cookies對象
圖5-12利用Cookies防止作弊流程圖
5.5.3驗證IP和登錄時間
圖5-13通過驗證IP防止作弊流程圖
小結(jié) 在線投票功能是網(wǎng)站應用程序最常用的功能之一。當網(wǎng)站的管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際合作項目教務處協(xié)調(diào)計劃
- 項目管理中的質(zhì)量控制流程
- 電商平臺建設(shè)項目實施進度計劃
- 企業(yè)廢舊物資管理實施細則及處理流程
- 2025年部編人教版初一語文家長會交流計劃
- 跨國公司破產(chǎn)管理人工作流程探討
- 某年度鐘表與計時儀器市場分析及競爭策略分析報告
- 某年度飲料罐鋁板戰(zhàn)略市場規(guī)劃報告
- 金融服務中的風險控制與質(zhì)量措施
- 藝術(shù)類課程教研組工作計劃
- 肥胖癥診療指南(2024年版)解讀
- 麥收消防安全培訓課件
- 《科普技巧常識》課件
- 2025年中國全電腦橫機市場現(xiàn)狀分析及前景預測報告
- 大型活動場館停車管理方案與技術(shù)措施
- 醫(yī)院基建管理試題及答案
- 2025年全國保密教育線上培訓考試試題庫及答案(奪冠)帶答案詳解
- 滬教牛津版(深圳用)英語五年級下冊Unit-11-Chinese-festivals課件
- 2025-2030中國職業(yè)資格培訓行業(yè)市場深度調(diào)研及競爭格局與投資前景研究報告
- 甘露特鈉膠囊聯(lián)合多奈哌齊片治療輕中度阿爾茨海默病的療效及腸道菌群影響
- 2025科技輔導員培訓
評論
0/150
提交評論