VBWeb應(yīng)用程序開發(fā)_第1頁
VBWeb應(yīng)用程序開發(fā)_第2頁
VBWeb應(yīng)用程序開發(fā)_第3頁
VBWeb應(yīng)用程序開發(fā)_第4頁
VBWeb應(yīng)用程序開發(fā)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章Web應(yīng)用程序開發(fā)主編:夏敏捷VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第1頁!教學(xué)目標(biāo)了解ASP.NET工作原理掌握ASP.NET常用控件初步學(xué)會使用ASP.NET訪問數(shù)據(jù)庫。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第2頁!目錄8.1什么是ASP.NET8.1.1ASP.NET頁面的結(jié)構(gòu)8.1.2ASP.NET網(wǎng)頁代碼模型8.1.3編譯和部署8.1.4ASP.NET常用內(nèi)置對象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應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第3頁!8.1.2ASP.NET網(wǎng)頁代碼模型單文件頁模型和代碼隱藏頁模型功能相同。在運行時,這兩個模型以相同的方式執(zhí)行,而且它們之間沒有性能差異。因此,頁模型的選擇取決于其他因素,例如,要在應(yīng)用程序中組織代碼的方式、將頁面設(shè)計與代碼編寫分開是否重要等等。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第4頁!8.1.4ASP.NET常用內(nèi)置對象在ASP.NET中,有5個常用內(nèi)置對象,它們是Request對象、Response對象、Server對象、Application對象和Session對象。這些對象用來維護有關(guān)當(dāng)前應(yīng)用程序、每個用戶會話、當(dāng)前HTTP請求、請求的Web窗體頁等信息,主要用于與用戶的交互。因此,它們在ASP.NET應(yīng)用程序扮演非常重要的角色。1.Response對象Response對象用于向客戶端發(fā)送信息,該對象提供了很多有用的屬性和方法。(1)利用Response對象發(fā)送信息Response對象最常用的功能就是向瀏覽器發(fā)送信息,而實現(xiàn)這一功能最常用的是它的Write方法,其使用形式為:

Response.Write(value)value代表發(fā)送的信息,可以是任何類型的變量或者表達式。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第5頁!8.1.4ASP.NET常用內(nèi)置對象2.Request對象(1)用Request對象獲取URL傳遞變量(2)用Request對象獲取表單傳遞值(3)用Request對象獲取服務(wù)器變量值3.Server對象HttpServerUtility類提供了用于處理Web請求的方法,HttpServerUtility類的方法和屬性通過ASP.NET提供的內(nèi)部Server對象公開,HttpServerUtility類的常用方法如下:(1)Server.HtmlEncode方法(2)Server.UrlEncode方法(3)Server.MapPath方法4.Application對象5.Session對象VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第6頁!8.2ASP.NET控件8.2.1ASP.NET控件概述ASP.NET控件基本上有兩個系列,分別是HTML服務(wù)器控件和Web(標(biāo)準(zhǔn))服務(wù)器控件(如圖8-1所示)。System.Web.UI.HtmlControls是HTML服務(wù)器控件的命名空間,System.Web.UI.WebControls是Web服務(wù)器控件的命名空間。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第7頁!8.2.3Web服務(wù)器控件Web(標(biāo)準(zhǔn))控件在System.Web.UI.WebControls命名空間中定義。與HTML控件一樣,Web控件也是由于ruant="server"屬性而充滿生機的服務(wù)器端組件。與HTML控件不同的是,Web控件提供了一個重構(gòu)的HTML屬性和事件集的編程接口。因而,Web控件在API設(shè)計方面似乎更一致、更抽象,并且功能更豐富,但是它們?nèi)匀划a(chǎn)生合法的標(biāo)記。大量的Web控件和HTML控件功能相同,并且生成幾乎相同的標(biāo)記,但是它們通過不同的編程接口來實現(xiàn)。例如,Web控件命名空間定義TextBox控件,并通過<asp:textbox>使用;類似地,HTML控件命名空間提供了HtmlInputText控件,并用<input>標(biāo)簽聲明它。具體采用哪一種方法主要是一個個人愛好問題,功能上的差別是很少見的。Web控件可以根據(jù)其功能分成不同的范疇:輸入和按鈕控件、數(shù)據(jù)綁定的控件、安全相關(guān)的控件、網(wǎng)格和視圖控件,以及幾個提供特別功能的雜項控件(Miscellaneouscontrols)和Web上常用的難以歸類的控件(例如,日歷控件、廣告旋轉(zhuǎn)器等)。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第8頁!8.2.5Image控件和ImageMap控件Image控件在Web頁上顯示一幅圖像,該圖像的路徑通過ImageUrl屬性設(shè)置。圖像URL既可以是相對的,也可以是絕對的,并且大多數(shù)程序員明顯喜歡相對URL,因為它們使一個Web站點更容易遷移。由于某種原因不能找到圖像或者瀏覽器不能生成圖像時,還可以指定要顯示的替代文本。這種情況下使用的屬性是AlternateText。在頁上該圖像與其他元素的對齊方式使用ImageAlign屬性設(shè)置。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第9頁!8.2.7復(fù)選框和單選鈕復(fù)選框控件有兩個:CheckBox控件和CheckBoxList控件。兩種控件都為用戶提供了一種輸入布爾型數(shù)據(jù)(真或假、是或否)的方法。用戶可以向頁面添加單個CheckBox控件,并單獨使用這些控件。作為另外一種Web服務(wù)器控件類型,CheckBoxList控件則是單個控件,可作為復(fù)選框列表項集合的父控件。使用CheckBoxList控件的許多過程與使用其他列表Web服務(wù)器控件的過程相同。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第10頁!8.2.9Calendar控件

Calendar控件顯示一個月歷,它允許我們選擇日期以及通過月份前后導(dǎo)航。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第11頁!8.2.11視圖控件ASP.NET2.0引入了兩個新的相關(guān)控件,用以創(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>當(dāng)用戶單擊當(dāng)前視圖中嵌入的按鈕或鏈接時,我們通過回發(fā)事件改變活動視圖。為了表示新視圖,既可以設(shè)置ActiveViewIndex屬性,也可以把視圖對象傳遞給SetActiveView方法。例如:Tables.ActiveViewIndex=Views.SelectedIndexVBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第12頁!8.3數(shù)據(jù)庫操作8.3.2數(shù)據(jù)源組件數(shù)據(jù)源組件是一個為了與數(shù)據(jù)綁定控件交互而設(shè)計的服務(wù)器控件,它隱藏了人工數(shù)據(jù)綁定范式的復(fù)雜性。數(shù)據(jù)源組件不僅為控件提供數(shù)據(jù),而且還支持?jǐn)?shù)據(jù)綁定控件執(zhí)行其他常見操作,諸如插入、刪除、排序和更新。每個數(shù)據(jù)源組件封裝一個特定的數(shù)據(jù)提供程序——關(guān)系數(shù)據(jù)庫、XML文檔或者定制類。對定制類的支持,意味著我們現(xiàn)在可以直接把控件綁定到已有的類——例如,業(yè)務(wù)層或數(shù)據(jù)訪問層的類。。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第13頁!8.3數(shù)據(jù)庫操作8.3.3GridView控件VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第14頁!8.1什么是ASP.NET8.1.1ASP.NET頁面的結(jié)構(gòu)ASP.NET頁面是一個用.aspx擴展名來保存的。頁面的內(nèi)部結(jié)構(gòu)是非常模塊化的,包括三個獨立的部分:頁面指令、代碼和頁面布局。頁面指令頁面指令建立該頁面的運行環(huán)境,規(guī)定HTTP運行庫如何處理該頁面,并確定對該頁面可以安全做出的假設(shè)。常用@Page指令或其他指令。代碼部分代碼部分包含頁面和控件事件的處理程序。與該頁面有關(guān)的任何源代碼可以按內(nèi)聯(lián)方式插入該頁面中,或者通過一個獨立的文件附加到該頁面。任何頁面代碼總是先編譯后執(zhí)行。在ASP.NET中,它還可以進行預(yù)編譯,并以二進制程序集的形式進行部署。頁面布局頁面布局表示頁面的框架包括服務(wù)器控件、文本和HTML標(biāo)簽。服務(wù)器控件的用戶界可以用聲明的屬性和控件屬性進行填充。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第15頁!8.1.3編譯和部署8.1.3編譯和部署 單文件頁和代碼隱藏頁的編譯和部署非常相似。最簡單的方法是將頁復(fù)制到目標(biāo)服務(wù)器的根目錄下(根目錄通常是c:\inetpub\root)。根據(jù)需要,也可以創(chuàng)建一個臨時的虛擬目錄。如果使用代碼隱藏頁,則要復(fù)制.aspx頁和代碼文件。首次請求該頁時,ASP.NET會對其進行編譯然后運行。 也可以預(yù)編譯網(wǎng)站。在這種情況下,ASP.NET將為頁生成目標(biāo)代碼,可以將其復(fù)制到目標(biāo)服務(wù)器中。預(yù)編譯對單文件模型和代碼隱藏模型都有效,這兩種模型的輸出相同。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第16頁!8.1.4ASP.NET常用內(nèi)置對象(2)利用Response對象重定向瀏覽器重新定向瀏覽器就是讓瀏覽器重新訪問一個新地址(URL)。可以使用Response對象的Redirect方法強制用戶進入某個必須先訪問的網(wǎng)頁,該方法的使用語法如下:

Response.Redirect(newUrl)參數(shù)newUrl表示重定向后的目標(biāo)地址。在每個功能頁的開始部分增加一個Response.Redirect語句,就可以強制用戶首先訪問指定的頁面。例如:Response.Redirect("test.aspx")(3)將指定的文件寫入HTTP輸出內(nèi)容流可以使用Response對象的Response.WriteFile()方法。例如:Response.WriteFile("test.txt")VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第17頁!8.2ASP.NET控件8.2.1ASP.NET控件概述ASP.NET控件基本上有兩個系列,分別是HTML服務(wù)器控件和Web(標(biāo)準(zhǔn))服務(wù)器控件(如圖8-1所示)。System.Web.UI.HtmlControls是HTML服務(wù)器控件的命名空間,System.Web.UI.WebControls是Web服務(wù)器控件的命名空間。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第18頁!8.2.2HTML服務(wù)器控件HTML服務(wù)器控件看上去像HTML標(biāo)簽,只不過它還有runat=server屬性。雖然它們看上去確實相同,但是runat屬性使兩者具有很大的差異。在ASP.NET中,只要添加runat屬性,就能夠以面向?qū)ο蟮姆椒ㄒ跃幊痰姆绞脚渲迷紭?biāo)簽?!纠?-1】使用HTML服務(wù)器控件實現(xiàn)文件上傳功能。Input(File)控件是把文件從一個瀏覽器上傳到Web服務(wù)器的HTML工具。圖8-2是運行時效果。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第19頁!8.2.4Button、ImageButton和LinkButton控件這三個控件使用戶可以指示已完成表單或要執(zhí)行特定的命令,功能類似,但在網(wǎng)頁上顯示的方式都不同?!纠?-2】使用Button控件觸發(fā)客戶端事件。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第20頁!8.2.6文本輸入控件TextBox服務(wù)器控件是使用戶可以輸入文本的輸入控件,該控件可以用于單行文本輸入、多行文本輸入和密碼文本輸入。設(shè)置TextMode屬性的不同取值可以實現(xiàn)上述三種類型的輸入:SingleLine——用戶只能在一行中鍵入信息。您還可以選擇限制控件接受的字符數(shù)。Password——與單行TextBox控件類似,但用戶鍵入的字符將以星號(*)屏蔽,以隱藏這些信息。Multiline——用戶在顯示多行并允許文本換行的框中鍵入信息。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第21頁!8.2.8AdRotator控件從理論上講,AdRotator控件顯示一個自動調(diào)整大小的圖像按鈕,并且每次頁面刷新時同時更新圖像和URL??丶@示的圖像和其他信息從一個根據(jù)特定模式編寫的XML文件中讀取。更具體地講,我們使用AdRotator控件創(chuàng)建Web窗體頁上的廣告標(biāo)語。該控件實際上在頁面中插入一幅圖像和一個超鏈接,并使其指向所選的廣告頁面。該圖像被瀏覽器調(diào)整到適合AdRotator控件的尺寸,而不管它的實際大小如何。VBWeb應(yīng)用程序開發(fā)共26頁,您現(xiàn)在瀏覽的是第22頁!8.2.10PlaceHolder控件

PlaceHolder控件只用作頁中其他控件的容器。PlaceHolder控件本身不會產(chǎn)生可視輸出,并且只能包含通過Controls集合動態(tài)增加的子控件。如下代碼說明了如何在一個Web頁中嵌入PlaceHolder控件:<asp:placeholderrunat="server"id="theToolbar"/>有了一個占位符以后,就可以向它添加控件。占位符不會增加額外的功能,但是它提供了分組,使我們能夠容易而直接地識別一組相關(guān)的控件。如下代碼說明了如何創(chuàng)建一個新按鈕并把它添加到一個已有的占位符:DimbtnAsButton=newButton()btn.Text="Clickme"theToolbar.Controls.Add(btn)PlaceHolder控件在控件樹上保留了一個位置,并且在識別頁面的特定區(qū)域以便于定制和擴展(通過以編程方式來添加控件這一方式)時尤其有用。VBWeb應(yīng)用程序開發(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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論