第15章構(gòu)建Web應(yīng)用程序_第1頁
第15章構(gòu)建Web應(yīng)用程序_第2頁
第15章構(gòu)建Web應(yīng)用程序_第3頁
第15章構(gòu)建Web應(yīng)用程序_第4頁
第15章構(gòu)建Web應(yīng)用程序_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2022年3月4日第16章 Web服務(wù)創(chuàng)建和使用服務(wù)創(chuàng)建和使用 主講教師: 楊建軍教學(xué)目標(biāo) 本章主要介紹了如何用ASP.NET編寫Web應(yīng)用程序,如何使用Web控件以及如何通過Web窗體讀寫數(shù)據(jù)庫。Web應(yīng)用程序,是一種以網(wǎng)頁形式為界面的應(yīng)用程序,Web應(yīng)用程序可以利用網(wǎng)絡(luò)的強(qiáng)大功能為用戶提供服務(wù)。ASP.NET為這種類型應(yīng)用程序的開發(fā)提供了一個(gè)強(qiáng)大的平臺(tái)。 教學(xué)重點(diǎn)lASP.NET概述l使用ASP.NET創(chuàng)建Web應(yīng)用lWeb 窗體校驗(yàn)控件使用l使用Web 窗體訪問數(shù)據(jù) 15.1 ASP.NET概述概述 ASP.NET技術(shù)可用于動(dòng)態(tài)創(chuàng)建帶有服務(wù)器端代碼的Web頁面。 它是ASP (Activ

2、e Server Page)的后續(xù)版本。一個(gè)ASP.NET頁面文件可以被拆分成兩個(gè)獨(dú)立的部分:一個(gè)是.aspx文件,它實(shí)際上是一個(gè)HTML文件,含HTML代碼和控件信息,定義了一個(gè)頁面的布局和外觀;另一個(gè)是.aspx.cs文件,每個(gè).aspx文件通常都有一個(gè)對(duì)應(yīng)的.aspx.cs文件,包含實(shí)現(xiàn)程序功能的代碼,如事件處理程序和輔助方法等。 在ASP.NET Web應(yīng)用程序項(xiàng)目中“*.aspx”和“*.cs”文件的內(nèi)容,前者與普通的.htm文件格式非常相似,而后者則與C#應(yīng)用程序的格式相似。 ASP .NET介紹 ASP .NET的總體構(gòu)架圖 ASP.NET 工作原理 使用ASP.NET在客戶系統(tǒng)

3、上創(chuàng)建Web應(yīng)用程序,只需一個(gè)簡(jiǎn)單的Web瀏覽器 在服務(wù)器系統(tǒng)上,需要ASP.NET運(yùn)行庫 15.2 使用使用ASP.NET創(chuàng)建創(chuàng)建Web應(yīng)用應(yīng)用 使用ASP.NET創(chuàng)建Web應(yīng)用非常方便。因?yàn)锳SP.NET中已定義了很多內(nèi)置對(duì)象,我們可以直接使用。 15.2.1 ASP.NET的內(nèi)建對(duì)象的內(nèi)建對(duì)象 盡管ASP .NET的面向?qū)ο蟮脑O(shè)計(jì)和基礎(chǔ)代碼在本質(zhì)上不同于ASP,但ASP中許多常用的關(guān)鍵字和運(yùn)算符在ASP .NET中仍保留了下來 lPage對(duì)象用來與擴(kuò)展名為.aspx的文件相關(guān)聯(lián)。這些文件在運(yùn)行時(shí)創(chuàng)建為Page對(duì)象,并緩存在服務(wù)器內(nèi)存中。Page對(duì)象充當(dāng)頁中所有服務(wù)器控件的命名容器 lRe

4、sponse對(duì)象是HttpResponse類的實(shí)例。當(dāng)用戶請(qǐng)求頁面時(shí),ASP .NET將自動(dòng)創(chuàng)建該對(duì)象 lRequest對(duì)象是HttpRequest類的實(shí)例。當(dāng)用戶請(qǐng)求頁面時(shí),ASP .NET也將自動(dòng)創(chuàng)建Request對(duì)象 lApplication對(duì)象是HttpApplicationState類的實(shí)例。它提供對(duì)所有會(huì)話的應(yīng)用程序范圍的方法和事件的訪問 lSession對(duì)象是HttpSessionState類的實(shí)例。它提供了對(duì)會(huì)話狀態(tài)值以及會(huì)話級(jí)別設(shè)置和生存期管理方法的訪問 Web窗體頁指令 Web窗體頁指令用來指定當(dāng)請(qǐng)求ASP .NET頁和用戶控件時(shí)使用的設(shè)置 指 令說 明Page該指令定義

5、ASP .NET 頁分析器和編譯器使用的頁的特定屬性。它只能包含在.aspx 文件之中,且每個(gè).aspx文件之中只能有一個(gè) Page指令Control該指令定義ASP .NET頁分析器和編譯器使用的用戶控件(.ascx文件)特定的屬性。只能包含在.ascx文件之中。且每個(gè).ascx文件中只能有一個(gè)Control指令A(yù)ssembly該指令在編譯過程中將程序集鏈接到當(dāng)前頁,以使程序集的所有類和接口都可用在該頁上Implements該指令指示當(dāng)前頁或用戶控件實(shí)現(xiàn)指定的.NET框架接口Import該指令將命名空間顯式導(dǎo)入到頁中,使導(dǎo)入的命名空間的所有類和接口可用于該頁。導(dǎo)入的命名空間可以是.NET框架

6、類庫或用戶定義的命名空間的一部分OutputCache該指令以聲明的方式控制ASP .NET頁或頁中包含的用戶控件的輸出緩存策略Reference該指令以聲明的方式指示另一個(gè)用戶控件或頁源文件應(yīng)該被動(dòng)態(tài)編譯并鏈接到在其中聲明該指令的頁Register該指令將別名與命名空間及類名關(guān)聯(lián)起來,以便在自定義服務(wù)器控件語法中使用簡(jiǎn)明的表示法15.2.2構(gòu)建構(gòu)建ASP.NET應(yīng)用程序應(yīng)用程序 使用ASP.NET創(chuàng)建的一個(gè)Web應(yīng)用程序通常有一個(gè)或多個(gè)ASP.NET頁或者Web窗體、代碼文件以及配置文件組成。 一個(gè)新的Web應(yīng)用程序被創(chuàng)建后,系統(tǒng)自動(dòng)創(chuàng)建的文件中包含以下幾個(gè)文件: 15.2.2構(gòu)建構(gòu)建ASP

7、.NET應(yīng)用程序應(yīng)用程序 l WebForm1.aspx文件:這是一個(gè)空白的ASP.NET Web窗體頁面,通常可將第一個(gè).aspx文件改名為“default.aspx”或“index.aspx”作為Web站點(diǎn)的缺省主頁。每個(gè).aspx文件開頭的預(yù)編譯指令指明了對(duì)應(yīng)的代碼文件的名稱和位置。lAssemblyInfo.cs文件:這是一個(gè)普通的源代碼文件,其中包含了所有的程序集特性。lGlobal.asax.cs文件:這是應(yīng)用程序自動(dòng)啟動(dòng)時(shí)被加載的第一個(gè)文件,它包含了Application_Start,Session_Start,Application_End,Session_End等幾個(gè)過程。l

8、Web.config文件:這是ASP.NET應(yīng)用程序的配置文件。這個(gè)文件采用的是XML格式,其中包含了與安全性、緩存管理、頁編譯等有關(guān)的信息。 15.2.3 Web Server控件控件 Web窗體控件與HTML控件或HTML表單相比較,有一個(gè)重要的區(qū)別,Web窗體控件是服務(wù)器端控件,是在服務(wù)器端生成。 所以,添加到窗體上的Web窗體控件也統(tǒng)稱為Server控件。Server控件與普通網(wǎng)頁上使用的標(biāo)準(zhǔn)HTML控件相似,只是它們編程更加靈活。大多數(shù)Server控件都揭示了事件處理程序、方法和屬性,服務(wù)器上的代碼可以動(dòng)態(tài)地執(zhí)行和修改它們。 Server控件控件是基于更加抽象的、具有更強(qiáng)的面向?qū)ο筇?/p>

9、征的設(shè)計(jì)模型,它提供了比HTML服務(wù)器種類更多、功能更強(qiáng)大的控件集合。它屬于System.Web.UI.WebControl名稱空間,所有的ASP.NET 服務(wù)器控件類都是從該名稱空間的基類WebControl派生的。 登錄控件 ASP.NET 2.0提供了一些新的安全控件,使用預(yù)定義的登錄控件不需手動(dòng)定制表單,即可完成登錄及注冊(cè)等功能 安 全 控 件說 明LoginLogin控件是一個(gè)復(fù)合控件,包含要求用戶輸入用戶名和密碼的控件LoginStatusLoginStatus控件根據(jù)用戶是否登錄,包含登錄或注銷的超鏈接 LoginNameLoginName控件顯示登錄的用戶名 LoginView

10、LoginView控件根據(jù)用戶是否登錄顯示不同的內(nèi)容PasswordRecoveryPasswordRecovery是一個(gè)復(fù)合控件,用于重新設(shè)置密碼。根據(jù)安全配置,要求用戶回答以前設(shè)置的問題,或通過電子郵件發(fā)送密碼 ChangePasswordChangePassword是一個(gè)復(fù)合控件,允許登錄的用戶更改密碼CreateUserWizardCreateUserWizard是一個(gè)創(chuàng)建新用戶向?qū)?,可以把用戶信息寫入MembershipProvider 15.2.4創(chuàng)建和使用主題創(chuàng)建和使用主題 利用【樣式生成器】可以設(shè)置窗體的樣式,但這樣定義的樣式只能應(yīng)用于一個(gè)窗體。商業(yè)網(wǎng)站往往包含數(shù)十甚至數(shù)百個(gè)窗

11、體,怎樣才能保持這些個(gè)窗體在格式上的一致性,這就是“主題”的作用了。 所謂主題,就是一系列定義好的屬性、樣式和圖像。我們可以選擇將它們應(yīng)用于特定網(wǎng)頁上的控件,也可以選擇將它們應(yīng)用于整個(gè)網(wǎng)站的所有網(wǎng)頁。 15.2.4創(chuàng)建和使用主題創(chuàng)建和使用主題 1.定義主題定義主題 主題由一組元素組成:外觀、級(jí)聯(lián)樣式表 (CSS)、圖像和其他資源。 主題是在網(wǎng)站或 Web 服務(wù)器上的特殊目錄中定義的。這個(gè)特殊目錄的名稱為App_Themes。 主題將至少包含一系列的外觀文件。外觀文件具有文件擴(kuò)展名 .skin,它包含各個(gè)控件的屬性設(shè)置??丶庥^設(shè)置類似于控件標(biāo)記本身,但只包含要作為主題的一部分來設(shè)置的屬性。 1

12、5.2.4創(chuàng)建和使用主題創(chuàng)建和使用主題 有兩種類型的控件外觀:“默認(rèn)外觀”和“已命名外觀”。 當(dāng)向網(wǎng)頁應(yīng)用主題時(shí),默認(rèn)外觀自動(dòng)應(yīng)用于同一類型的所有控件。如果控件外觀沒有 SkinID 屬性,則是默認(rèn)外觀。已命名外觀是設(shè)置了SkindID屬性的控件外觀。 要?jiǎng)?chuàng)建一個(gè)主題,首先為網(wǎng)站添加一個(gè)App_Themes文件夾;再為主題創(chuàng)建一個(gè)子文件夾,在這個(gè)子文件夾中創(chuàng)建一個(gè)或多個(gè)外觀文件來定義控件的屬性。 15.2.4創(chuàng)建和使用主題創(chuàng)建和使用主題 2.應(yīng)用主題應(yīng)用主題 為一個(gè)主題創(chuàng)建好一系列的外觀文件之后,至少可以采用兩種方式將一個(gè)主題應(yīng)用于Web窗體:可以設(shè)置每個(gè)頁的Page屬性,也可以使用Web配置

13、文件,將主題全局性的應(yīng)用于所有網(wǎng)頁。15.3 Web 窗體校驗(yàn)控件使用窗體校驗(yàn)控件使用 和Windows應(yīng)用程序一樣,校驗(yàn)用戶輸入的內(nèi)容是否符合一些要求是系統(tǒng)的一個(gè)重要內(nèi)容。對(duì)Web應(yīng)用程序來說,還應(yīng)該考慮是在服務(wù)器端還是在客戶端(瀏覽器)進(jìn)行校驗(yàn)。 進(jìn)行數(shù)據(jù)校驗(yàn)有兩種方式,分別是服務(wù)端校驗(yàn)和客戶端校驗(yàn),這是兩種完全不同的方式。 在ASP.NET中,提供了驗(yàn)證控件來檢查用戶輸入的有效性,而不需要程序員編寫大量的驗(yàn)證函數(shù) 驗(yàn)證控件創(chuàng)建了客戶端JavaScript代碼,在客戶端上驗(yàn)證輸入,還創(chuàng)建了服務(wù)器端代碼,在服務(wù)器上驗(yàn)證輸入。把驗(yàn)證屬性EnableClientScript設(shè)置為false,可以

14、關(guān)閉JavaScript。設(shè)置Page類的ClientTarget屬性,也可以關(guān)閉JavaScript,而不需要對(duì)每個(gè)驗(yàn)證控件執(zhí)行改變屬性值的操作。15.3 Web 窗體校驗(yàn)控件使用窗體校驗(yàn)控件使用 和Windows應(yīng)用程序一樣,校驗(yàn)用戶輸入的內(nèi)容是否符合一些要求是系統(tǒng)的一個(gè)重要內(nèi)容。對(duì)Web應(yīng)用程序來說,還應(yīng)該考慮是在服務(wù)器端還是在客戶端(瀏覽器)進(jìn)行校驗(yàn)。 進(jìn)行數(shù)據(jù)校驗(yàn)有兩種方式,分別是服務(wù)端校驗(yàn)和客戶端校驗(yàn),這是兩種完全不同的方式。 在ASP.NET中,提供了驗(yàn)證控件來檢查用戶輸入的有效性,而不需要程序員編寫大量的驗(yàn)證函數(shù) 驗(yàn)證控件創(chuàng)建了客戶端JavaScript代碼,在客戶端上驗(yàn)證輸入

15、,還創(chuàng)建了服務(wù)器端代碼,在服務(wù)器上驗(yàn)證輸入。把驗(yàn)證屬性EnableClientScript設(shè)置為false,可以關(guān)閉JavaScript。設(shè)置Page類的ClientTarget屬性,也可以關(guān)閉JavaScript,而不需要對(duì)每個(gè)驗(yàn)證控件執(zhí)行改變屬性值的操作。15.3 Web 窗體校驗(yàn)控件使用窗體校驗(yàn)控件使用 ASP.NET中提供了一組功能強(qiáng)大的數(shù)據(jù)驗(yàn)證組件,這些控件減輕了類似于ASP時(shí)代開發(fā)人員編程的復(fù)雜步驟??丶灿腥缦铝N。 RequiredFieldValidator CompareValidator RangeValidator RegularExpressionValidator

16、CustomValidator ValidationSummary15.4 使用使用Web 窗體訪問數(shù)據(jù)窗體訪問數(shù)據(jù) 在ASP.NET中通過使用ADO.NET實(shí)現(xiàn)數(shù)據(jù)庫訪問的操作與Windows應(yīng)用程序?qū)?shù)據(jù)庫的訪問基本一致,可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫數(shù)據(jù)的讀取、更改、添加與刪除。 15.4.1Web窗體的窗體的GridView控件使用控件使用 Web窗體的也有一個(gè)類似Windows窗體的DataGridView控件的控件,稱為GridView控件。在Web窗體應(yīng)用中,客戶端應(yīng)用程序(或?yàn)g覽器)一般與要用的數(shù)據(jù)庫距離很遠(yuǎn),這就意味著必須高效的利用網(wǎng)絡(luò)帶寬。不能浪費(fèi)資源獲取大量用戶不想要的數(shù)據(jù)。Web窗體

17、GridView控件支持分頁技術(shù)。 Web窗體GridView控件也能在數(shù)據(jù)庫斷開連接時(shí)使用??梢詣?chuàng)建一個(gè)SqlDataSource對(duì)象連接到一個(gè)數(shù)據(jù)庫,填充一個(gè)DataSet,然后斷開與數(shù)據(jù)庫的連接??梢詫qlDataSource控件中的DataSet對(duì)象綁定到一個(gè)GridView控件。 15.4.2 查詢數(shù)據(jù)查詢數(shù)據(jù) 在ASP.NET中訪問數(shù)據(jù)庫與在Windows中訪問數(shù)據(jù)庫的操作步驟基本相同:l創(chuàng)建DataSet(數(shù)據(jù)集合)對(duì)象,以存放從數(shù)據(jù)庫中讀取的記錄。l創(chuàng)建與數(shù)據(jù)庫的連接,即創(chuàng)建SqlDbConnection或OleDbConnection(Ole數(shù)據(jù)庫連接)對(duì)象,建立程序與數(shù)據(jù)庫的數(shù)據(jù)傳輸通道。l創(chuàng)建SqlDbDataAdapter或OleDbDataAdap

溫馨提示

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

評(píng)論

0/150

提交評(píng)論