第15章構建Web應用程序_第1頁
第15章構建Web應用程序_第2頁
第15章構建Web應用程序_第3頁
第15章構建Web應用程序_第4頁
第15章構建Web應用程序_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

3、上創(chuàng)建Web應用程序,只需一個簡單的Web瀏覽器 在服務器系統(tǒng)上,需要ASP.NET運行庫 15.2 使用使用ASP.NET創(chuàng)建創(chuàng)建Web應用應用 使用ASP.NET創(chuàng)建Web應用非常方便。因為ASP.NET中已定義了很多內置對象,我們可以直接使用。 15.2.1 ASP.NET的內建對象的內建對象 盡管ASP .NET的面向對象的設計和基礎代碼在本質上不同于ASP,但ASP中許多常用的關鍵字和運算符在ASP .NET中仍保留了下來 lPage對象用來與擴展名為.aspx的文件相關聯。這些文件在運行時創(chuàng)建為Page對象,并緩存在服務器內存中。Page對象充當頁中所有服務器控件的命名容器 lRe

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

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

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

7、.NET應用程序應用程序 l WebForm1.aspx文件:這是一個空白的ASP.NET Web窗體頁面,通??蓪⒌谝粋€.aspx文件改名為“default.aspx”或“index.aspx”作為Web站點的缺省主頁。每個.aspx文件開頭的預編譯指令指明了對應的代碼文件的名稱和位置。lAssemblyInfo.cs文件:這是一個普通的源代碼文件,其中包含了所有的程序集特性。lGlobal.asax.cs文件:這是應用程序自動啟動時被加載的第一個文件,它包含了Application_Start,Session_Start,Application_End,Session_End等幾個過程。l

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

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

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

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

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

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

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

15、,還創(chuàng)建了服務器端代碼,在服務器上驗證輸入。把驗證屬性EnableClientScript設置為false,可以關閉JavaScript。設置Page類的ClientTarget屬性,也可以關閉JavaScript,而不需要對每個驗證控件執(zhí)行改變屬性值的操作。15.3 Web 窗體校驗控件使用窗體校驗控件使用 ASP.NET中提供了一組功能強大的數據驗證組件,這些控件減輕了類似于ASP時代開發(fā)人員編程的復雜步驟。控件共有如下六種。 RequiredFieldValidator CompareValidator RangeValidator RegularExpressionValidator

16、CustomValidator ValidationSummary15.4 使用使用Web 窗體訪問數據窗體訪問數據 在ASP.NET中通過使用ADO.NET實現數據庫訪問的操作與Windows應用程序對數據庫的訪問基本一致,可以實現對數據庫數據的讀取、更改、添加與刪除。 15.4.1Web窗體的窗體的GridView控件使用控件使用 Web窗體的也有一個類似Windows窗體的DataGridView控件的控件,稱為GridView控件。在Web窗體應用中,客戶端應用程序(或瀏覽器)一般與要用的數據庫距離很遠,這就意味著必須高效的利用網絡帶寬。不能浪費資源獲取大量用戶不想要的數據。Web窗體

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

溫馨提示

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

評論

0/150

提交評論