版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第8章Web應用程序開發(fā)主編:夏敏捷VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第1頁!教學目標了解ASP.NET工作原理掌握ASP.NET常用控件初步學會使用ASP.NET訪問數(shù)據(jù)庫。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第2頁!目錄8.1什么是ASP.NET8.1.1ASP.NET頁面的結構8.1.2ASP.NET網(wǎng)頁代碼模型8.1.3編譯和部署8.1.4ASP.NET常用內置對象8.2ASP.NET控件8.3數(shù)據(jù)庫操作8.3.1基于數(shù)據(jù)源的數(shù)據(jù)綁定8.3.2數(shù)據(jù)源組件8.3.3GridView控件8.3.4實例開發(fā)VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第3頁!8.1.2ASP.NET網(wǎng)頁代碼模型單文件頁模型和代碼隱藏頁模型功能相同。在運行時,這兩個模型以相同的方式執(zhí)行,而且它們之間沒有性能差異。因此,頁模型的選擇取決于其他因素,例如,要在應用程序中組織代碼的方式、將頁面設計與代碼編寫分開是否重要等等。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第4頁!8.1.4ASP.NET常用內置對象在ASP.NET中,有5個常用內置對象,它們是Request對象、Response對象、Server對象、Application對象和Session對象。這些對象用來維護有關當前應用程序、每個用戶會話、當前HTTP請求、請求的Web窗體頁等信息,主要用于與用戶的交互。因此,它們在ASP.NET應用程序扮演非常重要的角色。1.Response對象Response對象用于向客戶端發(fā)送信息,該對象提供了很多有用的屬性和方法。(1)利用Response對象發(fā)送信息Response對象最常用的功能就是向瀏覽器發(fā)送信息,而實現(xiàn)這一功能最常用的是它的Write方法,其使用形式為:
Response.Write(value)value代表發(fā)送的信息,可以是任何類型的變量或者表達式。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第5頁!8.1.4ASP.NET常用內置對象2.Request對象(1)用Request對象獲取URL傳遞變量(2)用Request對象獲取表單傳遞值(3)用Request對象獲取服務器變量值3.Server對象HttpServerUtility類提供了用于處理Web請求的方法,HttpServerUtility類的方法和屬性通過ASP.NET提供的內部Server對象公開,HttpServerUtility類的常用方法如下:(1)Server.HtmlEncode方法(2)Server.UrlEncode方法(3)Server.MapPath方法4.Application對象5.Session對象VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第6頁!8.2ASP.NET控件8.2.1ASP.NET控件概述ASP.NET控件基本上有兩個系列,分別是HTML服務器控件和Web(標準)服務器控件(如圖8-1所示)。System.Web.UI.HtmlControls是HTML服務器控件的命名空間,System.Web.UI.WebControls是Web服務器控件的命名空間。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第7頁!8.2.3Web服務器控件Web(標準)控件在System.Web.UI.WebControls命名空間中定義。與HTML控件一樣,Web控件也是由于ruant="server"屬性而充滿生機的服務器端組件。與HTML控件不同的是,Web控件提供了一個重構的HTML屬性和事件集的編程接口。因而,Web控件在API設計方面似乎更一致、更抽象,并且功能更豐富,但是它們仍然產(chǎn)生合法的標記。大量的Web控件和HTML控件功能相同,并且生成幾乎相同的標記,但是它們通過不同的編程接口來實現(xiàn)。例如,Web控件命名空間定義TextBox控件,并通過<asp:textbox>使用;類似地,HTML控件命名空間提供了HtmlInputText控件,并用<input>標簽聲明它。具體采用哪一種方法主要是一個個人愛好問題,功能上的差別是很少見的。Web控件可以根據(jù)其功能分成不同的范疇:輸入和按鈕控件、數(shù)據(jù)綁定的控件、安全相關的控件、網(wǎng)格和視圖控件,以及幾個提供特別功能的雜項控件(Miscellaneouscontrols)和Web上常用的難以歸類的控件(例如,日歷控件、廣告旋轉器等)。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第8頁!8.2.5Image控件和ImageMap控件Image控件在Web頁上顯示一幅圖像,該圖像的路徑通過ImageUrl屬性設置。圖像URL既可以是相對的,也可以是絕對的,并且大多數(shù)程序員明顯喜歡相對URL,因為它們使一個Web站點更容易遷移。由于某種原因不能找到圖像或者瀏覽器不能生成圖像時,還可以指定要顯示的替代文本。這種情況下使用的屬性是AlternateText。在頁上該圖像與其他元素的對齊方式使用ImageAlign屬性設置。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第9頁!8.2.7復選框和單選鈕復選框控件有兩個:CheckBox控件和CheckBoxList控件。兩種控件都為用戶提供了一種輸入布爾型數(shù)據(jù)(真或假、是或否)的方法。用戶可以向頁面添加單個CheckBox控件,并單獨使用這些控件。作為另外一種Web服務器控件類型,CheckBoxList控件則是單個控件,可作為復選框列表項集合的父控件。使用CheckBoxList控件的許多過程與使用其他列表Web服務器控件的過程相同。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第10頁!8.2.9Calendar控件
Calendar控件顯示一個月歷,它允許我們選擇日期以及通過月份前后導航。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第11頁!8.2.11視圖控件ASP.NET2.0引入了兩個新的相關控件,用以創(chuàng)建一組可互換的子控件面板。MultiView控件定義一組視圖,每個視圖用View類的一個實例表示。每次只有一個視圖是活動的,并且呈現(xiàn)給客戶端。View控件不能作為獨立組件使用,并且只能放在一個MultiView控件里。下面用一個例子加以說明:<asp:MultiViewrunat="server"id="Tables"><asp:Viewrunat="server"id="Employees"></asp:view><asp:viewrunat="server"id="Products"></asp:view><asp:Viewrunat="server"id="Customers"></asp:View></asp:MultiView>當用戶單擊當前視圖中嵌入的按鈕或鏈接時,我們通過回發(fā)事件改變活動視圖。為了表示新視圖,既可以設置ActiveViewIndex屬性,也可以把視圖對象傳遞給SetActiveView方法。例如:Tables.ActiveViewIndex=Views.SelectedIndexVBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第12頁!8.3數(shù)據(jù)庫操作8.3.2數(shù)據(jù)源組件數(shù)據(jù)源組件是一個為了與數(shù)據(jù)綁定控件交互而設計的服務器控件,它隱藏了人工數(shù)據(jù)綁定范式的復雜性。數(shù)據(jù)源組件不僅為控件提供數(shù)據(jù),而且還支持數(shù)據(jù)綁定控件執(zhí)行其他常見操作,諸如插入、刪除、排序和更新。每個數(shù)據(jù)源組件封裝一個特定的數(shù)據(jù)提供程序——關系數(shù)據(jù)庫、XML文檔或者定制類。對定制類的支持,意味著我們現(xiàn)在可以直接把控件綁定到已有的類——例如,業(yè)務層或數(shù)據(jù)訪問層的類。。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第13頁!8.3數(shù)據(jù)庫操作8.3.3GridView控件VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第14頁!8.1什么是ASP.NET8.1.1ASP.NET頁面的結構ASP.NET頁面是一個用.aspx擴展名來保存的。頁面的內部結構是非常模塊化的,包括三個獨立的部分:頁面指令、代碼和頁面布局。頁面指令頁面指令建立該頁面的運行環(huán)境,規(guī)定HTTP運行庫如何處理該頁面,并確定對該頁面可以安全做出的假設。常用@Page指令或其他指令。代碼部分代碼部分包含頁面和控件事件的處理程序。與該頁面有關的任何源代碼可以按內聯(lián)方式插入該頁面中,或者通過一個獨立的文件附加到該頁面。任何頁面代碼總是先編譯后執(zhí)行。在ASP.NET中,它還可以進行預編譯,并以二進制程序集的形式進行部署。頁面布局頁面布局表示頁面的框架包括服務器控件、文本和HTML標簽。服務器控件的用戶界可以用聲明的屬性和控件屬性進行填充。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第15頁!8.1.3編譯和部署8.1.3編譯和部署 單文件頁和代碼隱藏頁的編譯和部署非常相似。最簡單的方法是將頁復制到目標服務器的根目錄下(根目錄通常是c:\inetpub\root)。根據(jù)需要,也可以創(chuàng)建一個臨時的虛擬目錄。如果使用代碼隱藏頁,則要復制.aspx頁和代碼文件。首次請求該頁時,ASP.NET會對其進行編譯然后運行。 也可以預編譯網(wǎng)站。在這種情況下,ASP.NET將為頁生成目標代碼,可以將其復制到目標服務器中。預編譯對單文件模型和代碼隱藏模型都有效,這兩種模型的輸出相同。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第16頁!8.1.4ASP.NET常用內置對象(2)利用Response對象重定向瀏覽器重新定向瀏覽器就是讓瀏覽器重新訪問一個新地址(URL)。可以使用Response對象的Redirect方法強制用戶進入某個必須先訪問的網(wǎng)頁,該方法的使用語法如下:
Response.Redirect(newUrl)參數(shù)newUrl表示重定向后的目標地址。在每個功能頁的開始部分增加一個Response.Redirect語句,就可以強制用戶首先訪問指定的頁面。例如:Response.Redirect("test.aspx")(3)將指定的文件寫入HTTP輸出內容流可以使用Response對象的Response.WriteFile()方法。例如:Response.WriteFile("test.txt")VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第17頁!8.2ASP.NET控件8.2.1ASP.NET控件概述ASP.NET控件基本上有兩個系列,分別是HTML服務器控件和Web(標準)服務器控件(如圖8-1所示)。System.Web.UI.HtmlControls是HTML服務器控件的命名空間,System.Web.UI.WebControls是Web服務器控件的命名空間。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第18頁!8.2.2HTML服務器控件HTML服務器控件看上去像HTML標簽,只不過它還有runat=server屬性。雖然它們看上去確實相同,但是runat屬性使兩者具有很大的差異。在ASP.NET中,只要添加runat屬性,就能夠以面向對象的方法以編程的方式配置原始標簽?!纠?-1】使用HTML服務器控件實現(xiàn)文件上傳功能。Input(File)控件是把文件從一個瀏覽器上傳到Web服務器的HTML工具。圖8-2是運行時效果。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第19頁!8.2.4Button、ImageButton和LinkButton控件這三個控件使用戶可以指示已完成表單或要執(zhí)行特定的命令,功能類似,但在網(wǎng)頁上顯示的方式都不同?!纠?-2】使用Button控件觸發(fā)客戶端事件。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第20頁!8.2.6文本輸入控件TextBox服務器控件是使用戶可以輸入文本的輸入控件,該控件可以用于單行文本輸入、多行文本輸入和密碼文本輸入。設置TextMode屬性的不同取值可以實現(xiàn)上述三種類型的輸入:SingleLine——用戶只能在一行中鍵入信息。您還可以選擇限制控件接受的字符數(shù)。Password——與單行TextBox控件類似,但用戶鍵入的字符將以星號(*)屏蔽,以隱藏這些信息。Multiline——用戶在顯示多行并允許文本換行的框中鍵入信息。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第21頁!8.2.8AdRotator控件從理論上講,AdRotator控件顯示一個自動調整大小的圖像按鈕,并且每次頁面刷新時同時更新圖像和URL。控件所要顯示的圖像和其他信息從一個根據(jù)特定模式編寫的XML文件中讀取。更具體地講,我們使用AdRotator控件創(chuàng)建Web窗體頁上的廣告標語。該控件實際上在頁面中插入一幅圖像和一個超鏈接,并使其指向所選的廣告頁面。該圖像被瀏覽器調整到適合AdRotator控件的尺寸,而不管它的實際大小如何。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第22頁!8.2.10PlaceHolder控件
PlaceHolder控件只用作頁中其他控件的容器。PlaceHolder控件本身不會產(chǎn)生可視輸出,并且只能包含通過Controls集合動態(tài)增加的子控件。如下代碼說明了如何在一個Web頁中嵌入PlaceHolder控件:<asp:placeholderrunat="server"id="theToolbar"/>有了一個占位符以后,就可以向它添加控件。占位符不會增加額外的功能,但是它提供了分組,使我們能夠容易而直接地識別一組相關的控件。如下代碼說明了如何創(chuàng)建一個新按鈕并把它添加到一個已有的占位符:DimbtnAsButton=newButton()btn.Text="Clickme"theToolbar.Controls.Add(btn)PlaceHolder控件在控件樹上保留了一個位置,并且在識別頁面的特定區(qū)域以便于定制和擴展(通過以編程方式來添加控件這一方式)時尤其有用。VBWeb應用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第23頁!8.3數(shù)據(jù)庫操作8.3.1基于數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出入院護理應急預案
- 2025年辦公室裝修工程合同
- 在線課程質量標準
- 弧菌屬氣單胞菌屬和鄰單胞菌屬教育課件
- 2026 年中職康復技術(肢體康復)試題及答案
- 二建全國題目及答案
- 城市軌道交通給排水系統(tǒng)及檢修課件 第20講 技術要求
- 2025年海南省公需課學習-生態(tài)環(huán)境損害賠償制度改革方案解析685
- 2025年安全生產(chǎn)知識問答題及答案(共70題)
- 云藝??嫉袼苷骖}及答案
- 2025年居家養(yǎng)老助餐合同協(xié)議
- 石材行業(yè)合同范本
- 生產(chǎn)性采購管理制度(3篇)
- 2026年遠程超聲診斷系統(tǒng)服務合同
- 中醫(yī)藥轉化研究中的專利布局策略
- COPD巨噬細胞精準調控策略
- 網(wǎng)店代發(fā)合作合同范本
- 心源性休克的液體復蘇挑戰(zhàn)與個體化方案
- 九師聯(lián)盟2026屆高三上學期12月聯(lián)考英語(第4次質量檢測)(含答案)
- 2022年《內蒙古自治區(qū)建設工程費用定額》取費說明
- 淺孔留礦法采礦方法設計
評論
0/150
提交評論