cweb開發(fā)技術(shù)專題知識講座_第1頁
cweb開發(fā)技術(shù)專題知識講座_第2頁
cweb開發(fā)技術(shù)專題知識講座_第3頁
cweb開發(fā)技術(shù)專題知識講座_第4頁
cweb開發(fā)技術(shù)專題知識講座_第5頁
已閱讀5頁,還剩184頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、cweb開發(fā)技術(shù)專題知識講座cweb開發(fā)技術(shù)專題知識講座第1頁第1章 .net框架與ASP.NET概述1.1 .net介紹.net在微軟內(nèi)部被稱為第二次主要轉(zhuǎn)折,是從MS-DOS向Windows轉(zhuǎn)化后又一次策略上大變換1.1.1 .net首先,.net代表著計算模式轉(zhuǎn)變另首先,.net帶來了軟件服務(wù)化商業(yè)模式??傮w說來,.net就是一個應(yīng)用基礎(chǔ)平臺,它包含一組軟件產(chǎn)品、技術(shù)和服務(wù),用來連接信息、人、系統(tǒng)和各種設(shè)備,連接主要方式是Web Service,其最終目標(biāo)就是讓用戶在任何地方,任何時間,以及利用任何設(shè)備都能訪問所需信息、文件和程序。用戶不需要知道這些文件放在什么地方,只需要發(fā)出請求后接收

2、即可,而全部后臺復(fù)雜性是完全屏蔽起來。cweb開發(fā)技術(shù)專題知識講座第2頁第1章 .net框架與ASP.NET概述1.1.2 .net框架概述.net框架包含兩個最基礎(chǔ)個別:公共語言運行庫CLR和.net類庫CL。公共語言運行庫是.net框架基礎(chǔ),能夠?qū)⑺闯梢粋€程序執(zhí)行時容器,提供內(nèi)存管理、線程管理和遠(yuǎn)程處理等關(guān)鍵任務(wù)。用戶編寫程序并不是直接編譯為windows能夠執(zhí)行二進(jìn)制文件,而是編譯為CLR能夠執(zhí)行中間語言IL,然后由CLR來執(zhí)行。托管代碼與非托管代碼cweb開發(fā)技術(shù)專題知識講座第3頁第1章 .net框架與ASP.NET概述.net類庫是一組廣泛、面向?qū)ο?、可重用類集合,能夠為?yīng)用程序提

3、供各種高級組件和服務(wù)。它主要包含以下組件和服務(wù):ADO.NET組件XML組件Windows表單組件ASP.NET Web組件ASP.NET應(yīng)用服務(wù)XMLWeb服務(wù)系統(tǒng)框架服務(wù)cweb開發(fā)技術(shù)專題知識講座第4頁第1章 .net框架與ASP.NET概述cweb開發(fā)技術(shù)專題知識講座第5頁第1章 .net框架與ASP.NET概述1.2 Web服務(wù)與Web程序設(shè)計模式Web程序或網(wǎng)站運行方式不一樣于普通Windows應(yīng)用程序1.2.1 Web服務(wù)與動態(tài)網(wǎng)頁網(wǎng)頁內(nèi)容是存放在服務(wù)器上,服務(wù)器是網(wǎng)絡(luò)中一臺主機(jī),因為它提供Web、FTP等網(wǎng)絡(luò)服務(wù),所以稱為服務(wù)器。當(dāng)用戶在地址欄中輸入地址時,瀏覽器會向服務(wù)器發(fā)送

4、HTTP請求,這個請求使用HTTP協(xié)議,其中包含請求主機(jī)名、HTTP版本號、端口、虛擬目錄、網(wǎng)頁名稱等信息。服務(wù)器在收到請求信息后,將回復(fù)信息準(zhǔn)備好,再經(jīng)過網(wǎng)絡(luò)傳遞給客戶端瀏覽器??蛻舳藶g覽器在接收到服務(wù)器傳遞信息后,將其解釋并顯示在瀏覽器窗口中。cweb開發(fā)技術(shù)專題知識講座第6頁第1章 .net框架與ASP.NET概述cweb開發(fā)技術(shù)專題知識講座第7頁第1章 .net框架與ASP.NET概述在這個過程中,假如在服務(wù)器上存放網(wǎng)頁為靜態(tài)HTML網(wǎng)頁文件,服務(wù)器會原封不動地傳遞回網(wǎng)頁內(nèi)容,假如存放是動態(tài)網(wǎng)頁,如ASP,JSP,APS.NET等文件,則服務(wù)器會執(zhí)行動態(tài)網(wǎng)頁代碼,執(zhí)行結(jié)果將生成一個HT

5、ML文件,然后將其傳遞給客戶端瀏覽器。動態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁根本區(qū)分在于服務(wù)器端傳遞給客戶端瀏覽器HTML文件是事先存放好還是由動態(tài)網(wǎng)頁程序生成。靜態(tài)網(wǎng)頁文件里只有HTML標(biāo)識,動態(tài)網(wǎng)頁文件里不但有HTML標(biāo)識,而且還含有程序代碼。cweb開發(fā)技術(shù)專題知識講座第8頁第1章 .net框架與ASP.NET概述1.2.2 瀏覽器/服務(wù)器模式及其優(yōu)點這種軟件架構(gòu)主要利用了不停成熟WWW瀏覽器技術(shù),結(jié)合動態(tài)網(wǎng)站制作技術(shù),經(jīng)過通用瀏覽器實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)強(qiáng)大功效,節(jié)約了開發(fā)成本,是一個全新軟件系統(tǒng)結(jié)構(gòu)技術(shù)。cweb開發(fā)技術(shù)專題知識講座第9頁第1章 .net框架與ASP.NET概述1.2.3 常

6、見動態(tài)網(wǎng)頁制作技術(shù)當(dāng)前,使用比較多動態(tài)網(wǎng)頁制作技術(shù)有ASP,ASP.NET,JSP,PHP等。ASP:ASP關(guān)鍵是腳本語言,這決定了它先天不足,即它無法進(jìn)行像傳統(tǒng)編程語言那樣底層操作,ASP經(jīng)過解釋執(zhí)行,運行效率較低,腳本代碼與HTML代碼混在一起,不利于開發(fā)人員進(jìn)行管理與維護(hù)。JSP:是Sun企業(yè)推出一個動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),它主要編程腳本為Java。PHP:ASP:是微軟繼ASP后推出全新動態(tài)網(wǎng)頁制作技術(shù)cweb開發(fā)技術(shù)專題知識講座第10頁第1章 .net框架與ASP.NET概述1.3 ASP.NET技術(shù)概述ASP.NET采取編譯方式。大規(guī)模地應(yīng)用了緩存技術(shù),它采取事件機(jī)制,最大程度地實現(xiàn)了處

7、理邏輯與顯示代碼分離。ASP.NET提供了功效強(qiáng)大服務(wù)器控件。ASP.NET AJAX內(nèi)建支持,.net中連接數(shù)據(jù)庫類庫由ADO升級到ADO.NET,ASP.NET是一個完全方面向?qū)ο笙到y(tǒng)。ASP.NET支持多語言開發(fā)。cweb開發(fā)技術(shù)專題知識講座第11頁第1章 .net框架與ASP.NET概述1.3.1 搭建ASP.NET運行環(huán)境ASP.NET Web應(yīng)用程序是由多個ASP.NET頁面、相關(guān)配置文件及其它成份組成。頁面擴(kuò)展名為aspx,頁面程序運行在服務(wù)器端,需要一系列運行環(huán)境支持。如圖所表示。ASP.NET應(yīng)用程序IIS6.0網(wǎng)站服務(wù)器.NET Framework操作系統(tǒng)IE6.0瀏覽器c

8、web開發(fā)技術(shù)專題知識講座第12頁第1章 .net框架與ASP.NET概述1 操作系統(tǒng)ASP.NET被推薦運行在Windows操作系統(tǒng)上。ASP.NET能夠運行操作系統(tǒng)以下:WindowsWindows XP ProfessionalWindows Server Windows VistaWindows Server Windows 7cweb開發(fā)技術(shù)專題知識講座第13頁第1章 .net框架與ASP.NET概述2 Web服務(wù)器運行ASP.NET應(yīng)用程序需要 IIS6.0以上版本W(wǎng)eb服務(wù)器。3 .NET環(huán)境要正常運行ASP.NET需要在計算機(jī)上安裝.NET運行環(huán)境,即.NET Framewor

9、k。ADO.NET需要安裝微軟數(shù)據(jù)訪問組件MDAC2.7以上版本。cweb開發(fā)技術(shù)專題知識講座第14頁第1章 .net框架與ASP.NET概述1.3.2 網(wǎng)站根目錄、虛擬目錄與ASP.NET頁面1、Web應(yīng)用程序Web應(yīng)用程序和普通Windows程序一樣,由許多文件組成,只不過Web應(yīng)用程序文件由Web頁面及其它相關(guān)配置文件組成,而且需要在Web服務(wù)器上才能正常運行。在一個Web服務(wù)器上能夠運行多個網(wǎng)站,但每一個網(wǎng)站端口或者IP地址都應(yīng)該不相同。每個網(wǎng)站只有一個根目錄,能夠有多個虛擬目錄,每個虛擬目錄能夠運行一個Web應(yīng)用程序。通常情況下,IIS中一個虛擬目錄下全部文件組成一個Web應(yīng)用程序,

10、不一樣虛擬目錄代表著不一樣Web應(yīng)用程序。cweb開發(fā)技術(shù)專題知識講座第15頁第1章 .net框架與ASP.NET概述2、創(chuàng)建C#Web程序設(shè)計網(wǎng)站3、創(chuàng)建虛擬目錄4、創(chuàng)建一個ASP.NET頁面1.3.3 安裝ASP.NET開發(fā)環(huán)境1、安裝Visual Studio2、安裝MSDN幫助3、開啟Visual Studiocweb開發(fā)技術(shù)專題知識講座第16頁第1章 .net框架與ASP.NET概述1.3.4 使用Visual Studio創(chuàng)建Web應(yīng)用程序1、創(chuàng)建Web應(yīng)用程序2、編輯、編譯應(yīng)用程序3、公布應(yīng)用程序復(fù)制網(wǎng)站公布網(wǎng)站cweb開發(fā)技術(shù)專題知識講座第17頁第1章 .net框架與ASP.N

11、ET概述IIS6.0網(wǎng)站目錄管理在較小Web網(wǎng)站上,Web內(nèi)容文件通常包含在一個目錄樹下,管理起來并不復(fù)雜。較大Web網(wǎng)站通常將HTML內(nèi)容文件、Web應(yīng)用程序及數(shù)據(jù)庫存放在同一計算機(jī)若干個目錄中,或者網(wǎng)絡(luò)中多個計算機(jī)上多個目錄中,目錄管理就不那么簡單了,為使其它目錄中內(nèi)容和信息也能夠經(jīng)過Web網(wǎng)站公布,應(yīng)創(chuàng)建虛擬目錄,當(dāng)然也可在主目錄或虛擬目錄物理目錄下直接創(chuàng)建目錄來管理內(nèi)容cweb開發(fā)技術(shù)專題知識講座第18頁第1章 .net框架與ASP.NET概述1、虛擬目錄與物理目錄虛擬目錄實際上并不包含在主目錄中,但在顯示給客戶瀏覽器時就像是位于主目錄中一樣。虛擬目錄有一個別名,供Web瀏覽器訪問此目

12、錄,別名通常比目錄路徑短,更便于用戶輸入。使用別名更安全,因為用戶不知道文件是否真存在于服務(wù)器上,所以無法使用這些信息來修改文件。使用別名能夠更方便地移動和修改網(wǎng)站中目錄結(jié)構(gòu),一旦要更改目錄,只需更改別名與目錄實際位置映射即可。可將主目錄看成網(wǎng)站“根”虛擬目錄。cweb開發(fā)技術(shù)專題知識講座第19頁第1章 .net框架與ASP.NET概述與虛擬目錄不一樣,物理目錄就是直接在文件系統(tǒng)中創(chuàng)建真實目錄,它可映射為不一樣主目錄或虛擬目錄。用戶能夠直接在Windows系統(tǒng)中創(chuàng)建和刪除物理目錄,也可在IIS管理器中管理物理目錄。在IIS管理器中展開某個主目錄或虛擬目錄時,其對應(yīng)物理目錄中內(nèi)容也將顯示出來。c

13、web開發(fā)技術(shù)專題知識講座第20頁第2章 Web開發(fā)基礎(chǔ)本章重點HTML標(biāo)識使用DIV+CSS頁面布局HTML/XHTML是網(wǎng)頁設(shè)計語言,CSS是描述頁面外觀層疊樣式表,DIV+CSS模式是當(dāng)面頁面布局主流技術(shù)cweb開發(fā)技術(shù)專題知識講座第21頁第2章 Web開發(fā)基礎(chǔ)2.1 HTML介紹2.1.1 HTMLHTML(Hyper Text Markup Language,超文本標(biāo)識語言)是描述網(wǎng)頁標(biāo)識語言。XHTML是更嚴(yán)格、更純凈HTML版本,符合W3C標(biāo)準(zhǔn),HTML4.1與XHTML幾乎是相同。HTML大約有一百多個標(biāo)識,這些標(biāo)識用于描述HTML文檔中數(shù)據(jù)顯示格式。HTML網(wǎng)頁是HTML標(biāo)識

14、語言描述文本文件。HTML文件由Web服務(wù)器發(fā)送給客戶端瀏覽器,客戶端瀏覽器按HTML描述格式將其顯示在瀏覽器窗口內(nèi),HTML文件經(jīng)過HTTP協(xié)議,使HTML文件能夠在因特網(wǎng)上進(jìn)行文件交換和訪問。HTML文件是純文本文件。cweb開發(fā)技術(shù)專題知識講座第22頁第2章 Web開發(fā)基礎(chǔ)2.1.2 URLURL(Uniform Resource Locators,統(tǒng)一資源定位器)是Internet中資源簡單命名機(jī)制。它由三個別組成:協(xié)議、主機(jī)DNS名或IP地址、文件名。URL優(yōu)點在于,可明確指定使用Internet服務(wù)協(xié)議,每個文檔、程序、其它文件都有各自地址。cweb開發(fā)技術(shù)專題知識講座第23頁第2

15、章 Web開發(fā)基礎(chǔ)URL支持協(xié)議file 資源是當(dāng)?shù)赜嬎銠C(jī)上文件。格式file:/ ftp 經(jīng)過 FTP訪問資源。格式 FTP:/ gopher 經(jīng)過Gopher協(xié)議訪問該資源。 http 經(jīng)過HTTP訪問該資源。 格式 HTTP:/ https 經(jīng)過安全HTTPS訪問該資源。 格式 HTTPS:/ mailto 資源為電子郵件地址,經(jīng)過 SMTP 訪問。 格式 mailto: mms 經(jīng)過支持MMS(流媒體)協(xié)議播放該資源。(代表軟件:Windows Media Player)格式 MMS:/ ed2k 經(jīng)過支持ed2k(專用下載鏈接)協(xié)議P2P軟件訪問該資源。(代表軟件:電驢) 格式 ed

16、2k:/flashget 經(jīng)過支持Flashget:(專用下載鏈接)協(xié)議P2P軟件訪問該資源。(代表軟件:快車) 格式 Flashget:/ thunder 經(jīng)過支持thunder(專用下載鏈接)協(xié)議P2P軟件訪問該資源。(代表軟件:迅雷) 格式 thunder:/ news 經(jīng)過 NNTP 訪問該資源。 tencent 經(jīng)過支持tencent(專用聊天連接) 協(xié)議和用戶對話。(代表軟件:QQ、TM)格式 tencent:/message/?uin=號碼&Site=&Menu=yes msnim 經(jīng)過支持msnim(專用聊天連接) 協(xié)議和用戶對話。(代表軟件:MSN、WLM) 格式 msnim

17、:chat?contact=郵箱地址cweb開發(fā)技術(shù)專題知識講座第24頁第2章 Web開發(fā)基礎(chǔ)2.1.3 HTML文件結(jié)構(gòu)1、HTML標(biāo)識與屬性HTML標(biāo)識又稱標(biāo)簽,是用”括起來標(biāo)識符,括號中間標(biāo)識符為標(biāo)識名稱。HTML標(biāo)識經(jīng)過指定某塊信息為段落或標(biāo)題等來標(biāo)識文檔某個個別。HTML標(biāo)識分為單標(biāo)識和成對標(biāo)識兩種。成對標(biāo)識有開始標(biāo)識和結(jié)束標(biāo)識,并配套使用,成對標(biāo)識只作用于開始標(biāo)識和結(jié)束標(biāo)識之間文檔。單標(biāo)識只有開始標(biāo)識。屬性是標(biāo)識中參數(shù)選項,大多數(shù)標(biāo)識有一些自己屬性,有些標(biāo)識有一些共用屬性,各屬性之間無先后次序,假如省略屬性則采取默認(rèn)值。屬性普通使用格式以下:cweb開發(fā)技術(shù)專題知識講座第25頁第2

18、章 Web開發(fā)基礎(chǔ)一個標(biāo)識能夠有多個屬性,它們都被放置在起始標(biāo)識內(nèi)一個屬性普通只在定義它標(biāo)識范圍內(nèi)起作用,但對于嵌套標(biāo)識結(jié)構(gòu),外層樣式表單一些屬性可能被內(nèi)層標(biāo)識繼承不一樣標(biāo)識所擁有屬性是不一樣,有些屬性為某一標(biāo)識所獨有,有些屬性為某幾個標(biāo)識所共有,有些屬性是絕大多數(shù)標(biāo)識都有,它們稱為通用屬性,HTML定義了6個通用屬性,它們是:ID:文檔范圍內(nèi)標(biāo)識符CLASS:給一個標(biāo)識指定一個或多個類名LANG:文檔語言信息DIR:文檔文字走向信息TITLE:關(guān)于標(biāo)識簡短說明STYLE:給出標(biāo)識樣式cweb開發(fā)技術(shù)專題知識講座第26頁第2章 Web開發(fā)基礎(chǔ)2、文檔頭與文檔體HTML文件必須由標(biāo)識開頭,標(biāo)識結(jié)

19、束。一個完整HTML文檔分為文檔頭和文檔體兩個別。文檔頭信息包含在之間,包含相關(guān)此網(wǎng)頁標(biāo)題、導(dǎo)入樣式表等信息。文檔體包含在之間,是網(wǎng)頁主體個別。cweb開發(fā)技術(shù)專題知識講座第27頁第2章 Web開發(fā)基礎(chǔ)3、標(biāo)識與顏色設(shè)定文檔體標(biāo)識有影響整個網(wǎng)頁顯示方式屬性,顏色設(shè)置通常有兩種形式,一個是直接表示法,另一個是RGB三色表示法,用三組十六進(jìn)制數(shù)RGB值表示,如#FF0000,#00FF00,#0000FF。cweb開發(fā)技術(shù)專題知識講座第28頁第2章 Web開發(fā)基礎(chǔ)2.2 常見HTML標(biāo)識2.2.1 HTML文字標(biāo)識1、標(biāo)識該標(biāo)識在之間,標(biāo)識之間內(nèi)容將顯示在瀏覽器標(biāo)題欄中。2、標(biāo)識是一個段落開始標(biāo)識

20、段落文字是換行標(biāo)識用于插入一條水平線cweb開發(fā)技術(shù)專題知識講座第29頁第2章 Web開發(fā)基礎(chǔ)3、標(biāo)識用來設(shè)置網(wǎng)頁中標(biāo)題文字,標(biāo)題分為6級,用hn標(biāo)識中n:16表示。標(biāo)題內(nèi)容4、標(biāo)識用來控制文字字體、大小和顏色5、標(biāo)識分別表示文字粗體、斜體、下劃線標(biāo)識,能夠組合使用。cweb開發(fā)技術(shù)專題知識講座第30頁第2章 Web開發(fā)基礎(chǔ)6、標(biāo)識分別是文本下標(biāo)和上標(biāo)標(biāo)識2.2.2 特殊標(biāo)識和圖形標(biāo)識1、和表示空格, 表示雙引號2、標(biāo)識注釋標(biāo)識cweb開發(fā)技術(shù)專題知識講座第31頁第2章 Web開發(fā)基礎(chǔ)3、標(biāo)識用來在網(wǎng)頁中顯示圖形。圖形文件與網(wǎng)頁文件是分別存放,能夠經(jīng)過標(biāo)識將圖形顯示在網(wǎng)頁中。4、標(biāo)識對象居中標(biāo)

21、識,凡在此標(biāo)識中間對象都會被居中輸出。cweb開發(fā)技術(shù)專題知識講座第32頁第2章 Web開發(fā)基礎(chǔ)2.2.3 超鏈接標(biāo)識標(biāo)識為超鏈接標(biāo)識,普通使用格式以下:超鏈接顯示名稱Href屬性取值為鏈接目標(biāo)地址,能夠是絕對路徑,也能夠是相對路徑。Target屬性取值為鏈接目標(biāo)窗口,能夠是_parent、_blank、_self、_top等值,也能夠是窗口名稱或idTitle屬性取值為指向鏈接時所顯示標(biāo)題文字cweb開發(fā)技術(shù)專題知識講座第33頁第2章 Web開發(fā)基礎(chǔ)2.3表格2.3.1 定義表格基礎(chǔ)語法在HTML中表格是經(jīng)過表格標(biāo)識、行標(biāo)識、列標(biāo)題標(biāo)識和列內(nèi)容標(biāo)識等配合使用來定義。cweb開發(fā)技術(shù)專題知識講

22、座第34頁第2章 Web開發(fā)基礎(chǔ)2.3.2 表格標(biāo)識屬性Align屬性為表格在頁面上水平擺放位置Border屬性取值單位為像素,值為表格邊框?qū)挾菴ellpadding屬性取值單位為像素,值為單元格內(nèi)容與單元格邊界之間空白距離Cellspacing屬性取值單位為像素,值為單元格之間距離Width屬性為表格寬度,取值單位為像素或頁面寬度百分比Heigth屬性為表格高度,取值單位為像素或頁面高度百分比Frame屬性為表格四面圍框顯示狀態(tài),取值為box、void、hsides、vsides、alove、below、rhs、lhsRules屬性為表格內(nèi)分隔線顯示方式,取值為all、groups、rows

23、、cols、none。cweb開發(fā)技術(shù)專題知識講座第35頁第2章 Web開發(fā)基礎(chǔ)2.3.3行標(biāo)識屬性Align屬性Valign屬性:行內(nèi)容垂直對齊方式Bgcolor屬性取值為行背景色Bordercolorlight屬性取值為行亮邊框顏色Bordercolordark屬性取值為行暗邊框顏色Height屬性2.3.4單元格和標(biāo)識屬性cweb開發(fā)技術(shù)專題知識講座第36頁第2章 Web開發(fā)基礎(chǔ)補(bǔ)充:有序表與無序表創(chuàng)建一個有序列表,創(chuàng)建一個無序列表。對于有序列表和無序列表,表中每一項由元素定義。瀏覽器自動給有序表中項目冠以序號,給無序表中項目冠以黑點,而且縮進(jìn)編排。常見屬性Type屬性:適合用于,用以給

24、出表項樣式信息Start屬性:適合用于元素,用以給出有序表中首項起始編號cweb開發(fā)技術(shù)專題知識講座第37頁第2章 Web開發(fā)基礎(chǔ)補(bǔ)充:表單表單是一個包含表單元素區(qū)域。表單元素是允許用戶在表單中(比如:文本域、下拉列表、單項選擇框、復(fù)選框等等)輸入信息元素。表單使用表單標(biāo)簽()定義。cweb開發(fā)技術(shù)專題知識講座第38頁第2章 Web開發(fā)基礎(chǔ)輸入多數(shù)情況下被用到表單標(biāo)簽是輸入標(biāo)簽()。輸入類型是由類型屬性(type)定義。大多數(shù)經(jīng)常被用到輸入類型以下文本域(Text Fields)當(dāng)用戶要在表單中鍵入字母、數(shù)字等內(nèi)容時,就會用到文本域。cweb開發(fā)技術(shù)專題知識講座第39頁第2章 Web開發(fā)基礎(chǔ)單

25、項選擇按鈕(Radio Buttons)當(dāng)用戶從若干給定選擇中選取其一時,就會用到單項選擇框。cweb開發(fā)技術(shù)專題知識講座第40頁第2章 Web開發(fā)基礎(chǔ)復(fù)選框(Checkboxes)當(dāng)用戶需要從若干給定選擇中選取一個或若干選項時,就會用到復(fù)選框。cweb開發(fā)技術(shù)專題知識講座第41頁第2章 Web開發(fā)基礎(chǔ)表單動作屬性(Action)和確認(rèn)按鈕當(dāng)用戶單擊確認(rèn)按鈕時,表單內(nèi)容會被傳送到另一個文件。表單動作屬性定義了目標(biāo)文件文件名。由動作屬性定義這個文件通常會對接收到輸入數(shù)據(jù)進(jìn)行相關(guān)處理。假如您在下面文本框內(nèi)鍵入幾個字母,然后點擊確認(rèn)按鈕,那么輸入數(shù)據(jù)會傳送到 html_form_action.asp

26、 頁面。該頁面將顯示出輸入結(jié)果。cweb開發(fā)技術(shù)專題知識講座第42頁第2章 Web開發(fā)基礎(chǔ)cweb開發(fā)技術(shù)專題知識講座第43頁第2章 Web開發(fā)基礎(chǔ)cweb開發(fā)技術(shù)專題知識講座第44頁第2章 Web開發(fā)基礎(chǔ)cweb開發(fā)技術(shù)專題知識講座第45頁第2章 Web開發(fā)基礎(chǔ)2.4 頁面布局頁面布局技術(shù)是Web應(yīng)用程序開發(fā)關(guān)鍵技術(shù)之一,DIV+CSS頁面布局模式是w3c標(biāo)準(zhǔn)一個經(jīng)典應(yīng)用,含有許多功效上優(yōu)勢。2.4.1CSS介紹CSS 指層疊樣式表 (Cascading Style Sheets) 樣式定義怎樣顯示 HTML 元素 樣式通常存放在樣式表中 把樣式添加到 HTML 4.0 中,是為了處理內(nèi)容與

27、表現(xiàn)分離問題 外部樣式表能夠極大提升工作效率 外部樣式表通常存放在 CSS 文件中 多個樣式定義可層疊為一個樣式表cweb開發(fā)技術(shù)專題知識講座第46頁第2章 Web開發(fā)基礎(chǔ)樣式處理了一個普遍問題HTML 標(biāo)簽原本被設(shè)計為用于定義文檔內(nèi)容。經(jīng)過使用 、 這么標(biāo)簽,HTML 初衷是表示“這是標(biāo)題”、“這是段落”、“這是表格”之類信息。同時文檔布局由瀏覽器來完成,而不使用任何格式化標(biāo)簽。因為兩種主要瀏覽器(Netscape 和 Internet Explorer)不停地將新 HTML 標(biāo)簽和屬性(比如字體標(biāo)簽和顏色屬性)添加到 HTML 規(guī)范中,創(chuàng)建文檔內(nèi)容清楚地獨立于文檔表現(xiàn)層站點變得越來越困難。

28、為了處理這個問題,萬維網(wǎng)聯(lián)盟(W3C),這個非營利標(biāo)準(zhǔn)化聯(lián)盟,擔(dān)負(fù)起了 HTML 標(biāo)準(zhǔn)化使命,并在 HTML 4.0 之外創(chuàng)造出樣式(Style)。全部主流瀏覽器均支持層疊樣式表。cweb開發(fā)技術(shù)專題知識講座第47頁第2章 Web開發(fā)基礎(chǔ)樣式表極大地提升了工作效率樣式表定義怎樣顯示 HTML 元素,就像 HTML 3.2 字體標(biāo)簽和顏色屬性所起作用那樣。樣式通常保留在外部 .css 文件中。經(jīng)過僅僅編輯一個簡單 CSS 文檔,外部樣式表使你有能力同時改變站點中全部頁面布局和外觀。因為允許同時控制多重頁面樣式和布局,CSS 能夠稱得上 WEB 設(shè)計領(lǐng)域一個突破。作為網(wǎng)站開發(fā)者,你能夠為每個 HT

29、ML 元素定義樣式,并將之應(yīng)用于你希望任意多頁面中。如需進(jìn)行全局更新,只需簡單地改變樣式,然后網(wǎng)站中全部元素均會自動地更新。cweb開發(fā)技術(shù)專題知識講座第48頁第2章 Web開發(fā)基礎(chǔ)多重樣式將層疊為一個樣式表允許以各種方式要求樣式信息。樣式能夠要求在單個 HTML 元素中,在 HTML 頁頭元素中,或在一個外部 CSS 文件中。甚至能夠在同一個 HTML 文檔內(nèi)部引用多個外部樣式表。層疊次序當(dāng)同一個 HTML 元素被不止一個樣式定義時,會使用哪個樣式呢?普通而言,全部樣式會依據(jù)下面規(guī)則層疊于一個新虛擬樣式表中,其中數(shù)字 4 擁有最高優(yōu)先權(quán)。1瀏覽器缺省設(shè)置 2外部樣式表 3內(nèi)部樣式表(位于 標(biāo)

30、簽內(nèi)部) 4內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部) 所以,內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)擁有最高優(yōu)先權(quán),這意味著它將優(yōu)先于以下樣式申明: 標(biāo)簽中樣式申明,外部樣式表中樣式申明,或者瀏覽器中樣式申明(缺省值)。cweb開發(fā)技術(shù)專題知識講座第49頁第2章 Web開發(fā)基礎(chǔ)CSS 語法CSS 規(guī)則由兩個主要個別組成:選擇器,以及一條或多條申明。選擇器通常是您需要改變樣式 HTML 元素。每條申明由一個屬性和一個值組成屬性(property)是您希望設(shè)置樣式屬性(style attribute)。每個屬性有一個值。屬性和值被冒號分開。cweb開發(fā)技術(shù)專題知識講座第50頁第2章 Web開發(fā)基礎(chǔ)cweb開發(fā)

31、技術(shù)專題知識講座第51頁第2章 Web開發(fā)基礎(chǔ)多重申明:提醒:假如要定義不止一個申明,則需要用分號將每個申明分開。下面例子展示出怎樣定義一個紅色文字居中段落。最終一條規(guī)則是不需要加分號,因為分號在英語中是一個分隔符號,不是結(jié)束符號。然而,大多數(shù)有經(jīng)驗設(shè)計師會在每條申明末尾都加上分號,這么好處是,當(dāng)你從現(xiàn)有規(guī)則中增減申明時,會盡可能降低犯錯可能性。就像這么:cweb開發(fā)技術(shù)專題知識講座第52頁第2章 Web開發(fā)基礎(chǔ)空格和大小寫大多數(shù)樣式表包含不止一條規(guī)則,而大多數(shù)規(guī)則包含不止一個申明。多重申明和空格使用使得樣式表更輕易被編輯:是否包含空格不會影響 CSS 在瀏覽器工作效果,一樣,與 XHTML

32、不一樣,CSS 對大小寫不敏感。不過存在一個例外:假如包括到與 HTML 文檔一起工作話,class 和 id 名稱對大小寫是敏感。cweb開發(fā)技術(shù)專題知識講座第53頁第2章 Web開發(fā)基礎(chǔ)選擇器分組你能夠?qū)x擇器進(jìn)行分組,這么,被分組選擇器就能夠分享相同申明。用逗號將需要分組選擇器分開。在下面例子中,咱們對全部標(biāo)題元素進(jìn)行了分組。全部標(biāo)題元素都是綠色。cweb開發(fā)技術(shù)專題知識講座第54頁第2章 Web開發(fā)基礎(chǔ)id 選擇器id 選擇器能夠為標(biāo)有特定 id HTML 元素指定特定樣式。id 選擇器以 # 來定義。cweb開發(fā)技術(shù)專題知識講座第55頁第2章 Web開發(fā)基礎(chǔ)CSS 類選擇器在 CSS

33、 中,類選擇器以一個點號顯示cweb開發(fā)技術(shù)專題知識講座第56頁第2章 Web開發(fā)基礎(chǔ)怎樣插入樣式表當(dāng)讀到一個樣式表時,瀏覽器會依據(jù)它來格式化 HTML 文檔。插入樣式表方法有三種外部樣式表內(nèi)部樣式表內(nèi)聯(lián)樣式cweb開發(fā)技術(shù)專題知識講座第57頁第2章 Web開發(fā)基礎(chǔ)外部樣式表當(dāng)樣式需要應(yīng)用于很多頁面時,外部樣式表將是理想選擇。在使用外部樣式表情況下,你能夠經(jīng)過改變一個文件來改變整個站點外觀。每個頁面使用 標(biāo)簽鏈接到樣式表。 標(biāo)簽在(文檔)頭部。外部樣式表能夠在任何文本編輯器中進(jìn)行編輯。文件不能包含任何 html 標(biāo)簽。樣式表應(yīng)該以 .css 擴(kuò)展名進(jìn)行保留。cweb開發(fā)技術(shù)專題知識講座第58頁

34、第2章 Web開發(fā)基礎(chǔ)內(nèi)部樣式表當(dāng)單個文檔需要特殊樣式時,就應(yīng)該使用內(nèi)部樣式表。你能夠使用 標(biāo)簽在文檔頭部定義內(nèi)部樣式表,就像這么:cweb開發(fā)技術(shù)專題知識講座第59頁第2章 Web開發(fā)基礎(chǔ)內(nèi)聯(lián)樣式因為要將表現(xiàn)和內(nèi)容混雜在一起,內(nèi)聯(lián)樣式會損失掉樣式表許多優(yōu)勢。請慎用這種方法,比如當(dāng)樣式僅需要在一個元素上應(yīng)用一次時。要使用內(nèi)聯(lián)樣式,你需要在相關(guān)標(biāo)簽內(nèi)使用樣式(style)屬性。Style 屬性能夠包含任何 CSS 屬性。cweb開發(fā)技術(shù)專題知識講座第60頁第2章 Web開發(fā)基礎(chǔ)偽類偽類用來表示動態(tài)事件、狀態(tài)改變或在文檔中以其它方法不能輕易實現(xiàn)情況。偽類對目標(biāo)元素中出現(xiàn)某種特殊狀態(tài)應(yīng)用樣式,比如超

35、鏈接等。偽類允許設(shè)計人員自由指定元素在一個狀態(tài)下外觀。與普通類不一樣,偽類屬性前面只能有一個冒號。偽類語法cweb開發(fā)技術(shù)專題知識講座第61頁第2章 Web開發(fā)基礎(chǔ)錨偽類在支持 CSS 瀏覽器中,鏈接不一樣狀態(tài)都能夠不一樣方式顯示,這些狀態(tài)包含:活動狀態(tài),已被訪問狀態(tài),未被訪問狀態(tài),和鼠標(biāo)懸停狀態(tài)。a:link color: #FF0000 /* 未訪問鏈接 */ a:visited color: #00FF00 /* 已訪問鏈接 */ a:hover color: #FF00FF /* 鼠標(biāo)移動到鏈接上 */ a:active color: #0000FF /* 選定鏈接 */ 提醒:在 C

36、SS 定義中,a:hover 必須被置于 a:link 和 a:visited 之后,才是有效。提醒:在 CSS 定義中,a:active 必須被置于 a:hover 之后,才是有效。提醒:偽類名稱對大小寫不敏感。cweb開發(fā)技術(shù)專題知識講座第62頁第2章 Web開發(fā)基礎(chǔ)cweb開發(fā)技術(shù)專題知識講座第63頁第2章 Web開發(fā)基礎(chǔ)應(yīng)用字體外觀cweb開發(fā)技術(shù)專題知識講座第64頁第2章 Web開發(fā)基礎(chǔ)操作文本顯示cweb開發(fā)技術(shù)專題知識講座第65頁第2章 Web開發(fā)基礎(chǔ)背景色和背景圖像cweb開發(fā)技術(shù)專題知識講座第66頁第2章 Web開發(fā)基礎(chǔ)盒模型:控制外邊距、邊框、內(nèi)邊距、寬度和高度CSS中盒模

37、型是基于CSSWeb設(shè)計中取主要概念之一。盒模型是針對HTML元素一組規(guī)則,指定了元素高度、寬度、內(nèi)邊距、邊框和外邊距是怎樣度量。CSS盒模型是定義元素周圍間隔、尺寸、外邊距、邊框以及元素內(nèi)容和邊框之間內(nèi)邊距一組屬性集合。cweb開發(fā)技術(shù)專題知識講座第67頁第2章 Web開發(fā)基礎(chǔ)cweb開發(fā)技術(shù)專題知識講座第68頁第2章 Web開發(fā)基礎(chǔ)元素框最內(nèi)個別是實際內(nèi)容,直接包圍內(nèi)容是內(nèi)邊距。內(nèi)邊距展現(xiàn)了元素背景。內(nèi)邊距邊緣是邊框。邊框以外是外邊距,外邊距默認(rèn)是透明,所以不會遮擋其后任何元素。提醒:背景應(yīng)用于由內(nèi)容和內(nèi)邊距、邊框組成區(qū)域。在 CSS 中,width 和 height 指是內(nèi)容區(qū)域?qū)挾群透?/p>

38、度。增加內(nèi)邊距、邊框和外邊距不會影響內(nèi)容區(qū)域尺寸,不過會增加元素框總尺寸。cweb開發(fā)技術(shù)專題知識講座第69頁第2章 Web開發(fā)基礎(chǔ)假設(shè)框每個邊上有 10 個像素外邊距和 5 個像素內(nèi)邊距。假如希望這個元素框到達(dá) 100 個像素,就需要將內(nèi)容寬度設(shè)置為 70 像素,請看下列圖:cweb開發(fā)技術(shù)專題知識講座第70頁第2章 Web開發(fā)基礎(chǔ)使用margin屬性使頁面居中cweb開發(fā)技術(shù)專題知識講座第71頁第2章 Web開發(fā)基礎(chǔ)CSS浮動浮動框能夠向左或向右移動,直到它外邊緣碰到包含框或另一個浮動框邊框為止。因為浮動框不在文檔普通流中,所以文檔普通流中塊框表現(xiàn)得就像浮動框不存在一樣。cweb開發(fā)技術(shù)專

39、題知識講座第72頁第2章 Web開發(fā)基礎(chǔ)當(dāng)把框 1 向右浮動時,它脫離文檔流而且向右移動,直到它右邊緣碰到包含框右邊緣:cweb開發(fā)技術(shù)專題知識講座第73頁第2章 Web開發(fā)基礎(chǔ)當(dāng)框 1 向左浮動時,它脫離文檔流而且向左移動,直到它左邊緣碰到包含框左邊緣。因為它不再處于文檔流中,所以它不占據(jù)空間,實際上覆蓋住了框 2,使框 2 從視圖中消失。假如把全部三個框都向左移動,那么框 1 向左浮動直到碰到包含框,另外兩個框向左浮動直到碰到前一個浮動框。cweb開發(fā)技術(shù)專題知識講座第74頁第2章 Web開發(fā)基礎(chǔ)假如包含框太窄,無法容納水平排列三個浮動元素,那么其它浮動塊向下移動,直到有足夠空間。假如浮動

40、元素高度不一樣,那么當(dāng)它們向下移動時可能被其它浮動元素“卡住”:cweb開發(fā)技術(shù)專題知識講座第75頁第2章 Web開發(fā)基礎(chǔ)CSS float 屬性在 CSS 中,咱們經(jīng)過 float 屬性實現(xiàn)元素浮動。float 屬性定義元素在哪個方向浮動。以往這個屬性總應(yīng)用于圖像,使文本圍繞在圖像周圍,不過在 CSS 中,任何元素都能夠浮動。浮動元素會生成一個塊級框,而不論它本身是何種元素。假如在一行之上只有極少空間可供浮動元素,那么這個元素會跳至下一行,這個過程會連續(xù)到某一行擁有足夠空間為止。cweb開發(fā)技術(shù)專題知識講座第76頁第2章 Web開發(fā)基礎(chǔ)行框和清理浮動框旁邊行框被縮短,從而給浮動框留出空間,行

41、框圍繞浮動框cweb開發(fā)技術(shù)專題知識講座第77頁第2章 Web開發(fā)基礎(chǔ)CSS 定位 (Positioning)CSS 為定位和浮動提供了一些屬性,利用這些屬性,能夠建立列式布局,將布局一個別與另一個別重合,還能夠完成多年來通常需要使用多個表格才能完成任務(wù)。定位基礎(chǔ)思想很簡單,它允許你定義元素框相對于其正常位置應(yīng)該出現(xiàn)位置,或者相對于父元素、另一個元素甚至瀏覽器窗口本身位置。cweb開發(fā)技術(shù)專題知識講座第78頁第2章 Web開發(fā)基礎(chǔ)一切皆為框div、h1 或 p 元素經(jīng)常被稱為塊級元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span 和 strong 等元素稱為“行內(nèi)元素”,這是

42、因為它們內(nèi)容顯示在行中,即“行內(nèi)框”。您能夠使用 display 屬性改變生成框類型。這意味著,經(jīng)過將 display 屬性設(shè)置為 block,能夠讓行內(nèi)元素(比如 元素)表現(xiàn)得像塊級元素一樣。還能夠經(jīng)過把 display 設(shè)置為 none,讓生成元素根本沒有框。這么話,該框及其全部內(nèi)容就不再顯示,不占用文檔中空間。cweb開發(fā)技術(shù)專題知識講座第79頁第2章 Web開發(fā)基礎(chǔ)CSS 定位機(jī)制CSS 有三種基礎(chǔ)定位機(jī)制:普通流、浮動和絕對定位。除非專門指定,不然全部框都在普通流中定位。也就是說,普通流中元素位置由元素在 (X)HTML 中位置決定。塊級框從上到下一個接一個地排列,框之間垂直距離是由

43、框垂直外邊距計算出來。行內(nèi)框在一行中水平布置。能夠使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們間距。不過,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框高度。由一行形成水平框稱為行框(Line Box),行框高度總是足以容納它包含全部行內(nèi)框。不過,設(shè)置行高能夠增加這個框高度。cweb開發(fā)技術(shù)專題知識講座第80頁第2章 Web開發(fā)基礎(chǔ)CSS position 屬性經(jīng)過使用 position 屬性,咱們能夠選擇 4 種不一樣類型定位,這會影響元素框生成方式。position 屬性值含義:static 元素框正常生成。塊級元素生成一個矩形框,作為文檔流一個別,行內(nèi)元素則會創(chuàng)建一個或多個行框,置于其父元素中。 rela

44、tive 元素框偏移某個距離。元素仍保持其未定位前形狀,它原本所占空間仍保留。 absolute 元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中另一個元素或者是初始包含塊。元素原先在正常文檔流中所占空間會關(guān)閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型框。 Fixed 元素框表現(xiàn)類似于將 position 設(shè)置為 absolute,不過其包含塊是視窗本身。cweb開發(fā)技術(shù)專題知識講座第81頁第3章 Web窗體本章內(nèi)容了解Web窗體概念與技術(shù)優(yōu)點了解Web窗體代碼分離技術(shù),掌握代碼內(nèi)聯(lián)與后臺編碼了解Web窗體事件驅(qū)動編程了解Web窗體

45、處理過程及窗體事件掌握Web窗體常見事件編程本章重點Web窗體概念及代碼分離Web窗體事件驅(qū)動編程及窗體處理過程cweb開發(fā)技術(shù)專題知識講座第82頁第3章 Web窗體3.1 Web窗體概述3.1.1 Web窗體創(chuàng)建Web窗體(Web Form,Web表單)及其架構(gòu)是基于.net通用運行環(huán)境可擴(kuò)展編程模型,類似于C#程序設(shè)計中Windows窗體,主要是用來生成與用戶交互界面,并實現(xiàn)頁面內(nèi)容與代碼完全分離。cweb開發(fā)技術(shù)專題知識講座第83頁第3章 Web窗體3.1.2 Web窗體概念與技術(shù)優(yōu)點1、Web窗體概念開發(fā)工具為用戶提供了一個ASP.NET頁面編輯界面,一個名稱為Default.aspx

46、頁面,能夠?qū)⑦@個可視化編程界面了解為Web窗體,它是一個ASP.NETWeb窗體在編程階段展現(xiàn)。ASP.NET提供Web窗體是一個容器對象,它不但有自己屬性、方法和事件,而且能容納HTML服務(wù)器控件、Web服務(wù)器控件等對象。開發(fā)工具經(jīng)過Web窗體架構(gòu),實現(xiàn)了Web頁面設(shè)計中“所見即所得”。cweb開發(fā)技術(shù)專題知識講座第84頁第3章 Web窗體ASP.NETWeb窗體模型由兩個別組成,即用戶界面UI和實現(xiàn)邏輯。用戶界面中含有頁面布局信息和ASP.NET服務(wù)器控件HTML模板,它負(fù)責(zé)對瀏覽器上Web窗體進(jìn)行顯示。實現(xiàn)邏輯個別是對Web窗體進(jìn)行邏輯處理ASP.NET代碼,它負(fù)責(zé)生成Web窗體上動態(tài)顯

47、示內(nèi)容,這些內(nèi)容通常由用戶界面?zhèn)€別定義服務(wù)器控件顯示。實現(xiàn)邏輯和用戶界面生成HTML協(xié)同工作,能夠?qū)崿F(xiàn)完全動態(tài)Web頁面。cweb開發(fā)技術(shù)專題知識講座第85頁第3章 Web窗體2、Web窗體技術(shù)優(yōu)點Web窗體能夠使用公共語言運行庫所支持程序語言來編寫Visual Studio集成開發(fā)環(huán)境提供了豐富服務(wù)器控件,為頁面設(shè)計提供了所見即所得設(shè)計支持,極大地提升了開發(fā)效率豐富服務(wù)器控件使開發(fā)者能夠順利地將頁面邏輯封裝至一個可重復(fù)使用組件中,降低了開發(fā)人員必須編寫代碼量Web窗體模型將頁面顯示代碼和邏輯處理代碼分離,從而處理了頁面代碼難以維護(hù)問題Web窗體模型包含了多狀態(tài)管理特征,能夠方便地保留頁面狀態(tài)

48、Web窗體含有可擴(kuò)展性,能夠很好地使用第三方控件cweb開發(fā)技術(shù)專題知識講座第86頁第3章 Web窗體3.1.3 Web窗體組成文件一個Web窗體由兩個文件組成,即包含HTML內(nèi)容用戶界面(.aspx或ascx文件)和后臺代碼文件(.aspx.cs)。cweb開發(fā)技術(shù)專題知識講座第87頁第3章 Web窗體3.2 代碼內(nèi)聯(lián)與后臺編碼ASP.NET是經(jīng)過代碼內(nèi)聯(lián)和后臺編碼這兩種形式來實現(xiàn)用戶界面和實現(xiàn)邏輯聯(lián)絡(luò)。代碼內(nèi)聯(lián)就是將用戶界面和實現(xiàn)邏輯放在同一個文件中后臺編碼就是將實現(xiàn)邏輯和用戶界面分別存在兩個不一樣文件中。ASP.NET默認(rèn)創(chuàng)建頁面是頁面顯示代碼和邏輯處理代碼相分離,在添加新頁面時,能夠選

49、擇采取代碼內(nèi)聯(lián)或后臺編碼模式。cweb開發(fā)技術(shù)專題知識講座第88頁第3章 Web窗體3.2.1 后臺編碼當(dāng)執(zhí)行ASP.NET頁面時,.aspx文件和.aspx.cs文件會編譯生成一個可執(zhí)行page對象。每個.aspx文件都有一個Page指令,Page指令常見屬性以下:Language:指定了該頁面所使用語言AutoEventWireup:指示控件事件是否自動匹配。假如啟用事件自動匹配,則為 true;不然為 false。默認(rèn)值為 true。CodeFile:指定了該頁面所關(guān)聯(lián)后臺處理代碼文件Inherits:定義供頁繼承隱藏代碼類,能夠是從Page類派生任意類。cweb開發(fā)技術(shù)專題知識講座第8

50、9頁第3章 Web窗體2、代碼內(nèi)聯(lián)代碼內(nèi)聯(lián)是將用戶界面與邏輯實現(xiàn)個別代碼放在一個文件中,不過邏輯個別和頁面?zhèn)€別還是顯著地域分為兩個個別。其中邏輯個別包含在標(biāo)識之間,并為標(biāo)識添加了runat=“server”屬性。用戶界面?zhèn)€別包含在之間。在標(biāo)識中添加了runat=“server”屬性。runat=server表示在服務(wù)器端運行,然后生成對應(yīng)客戶端代碼。普通HTML控件,假如不加runat=server,直接在客戶端運行。cweb開發(fā)技術(shù)專題知識講座第90頁第3章 Web窗體3.3 ASP.NET執(zhí)行過程當(dāng)用戶請求Default.aspx頁面時,IIS是怎樣將Default.aspx與Defaul

51、t.aspx.cs進(jìn)行組合編譯生成HTML代碼響應(yīng)用戶請求呢。ASP.NET頁面執(zhí)行過程是一個較復(fù)雜過程,包括到IIS、CLR、Framework等。1、IIS將請求轉(zhuǎn)交給aspnet_isapi.dll。IIS會依據(jù)訪問者請求IP、端口、虛擬目錄和文件名查找對應(yīng)站點,找到站點后依據(jù)所要求文件擴(kuò)展來開啟對應(yīng)IIS Extension程序處理此要求,aspx這個文件擴(kuò)展名與aspnet_isapi.dll對應(yīng),控制權(quán)交給aspnet_isapi.dll。cweb開發(fā)技術(shù)專題知識講座第91頁第3章 Web窗體2、aspnet_isapi.dll轉(zhuǎn)交給ASP.NET Worker Process.a

52、spnet_isapi.dll只是一個入口,真正處理工作是其轉(zhuǎn)交ASP.NET WP,WP首先解析訪問者請求中虛擬目錄信息,決定創(chuàng)建或使用先前已建好AppDomain對象來處理此請求。3、WP將請求轉(zhuǎn)交給ISAPIRuntime對象。WP將要求轉(zhuǎn)送至虛擬目錄對應(yīng)Application Domain中ISAPIRuntime對象。此對象主要功效是由ISAPI封包中解析出信息后轉(zhuǎn)交給HttpRuntime對象。4、ISAPIRuntime對象將請求轉(zhuǎn)交給HttpRuntime對象。5、HttpRuntime對象將請求轉(zhuǎn)交給HttpApplication對象。6、 HttpApplication對象

53、將請求轉(zhuǎn)交給Httphandler對象7、 Httphandler對象轉(zhuǎn)交給Page對象8、Page對象創(chuàng)建過程。cweb開發(fā)技術(shù)專題知識講座第92頁第3章 Web窗體3.4 Web窗體事件驅(qū)動編程3.4.1事件驅(qū)動編程概念在DOS時代編程模型中,程序是按次序執(zhí)行,這類程序稱為面向過程程序設(shè)計。面向過程應(yīng)用程序普通有一個顯著開始,一個顯著過程和一個顯著結(jié)束。事件驅(qū)動程序最大特點就是:程序執(zhí)行不是由程序次序來控制,而是由事件發(fā)生次序來控制。cweb開發(fā)技術(shù)專題知識講座第93頁第3章 Web窗體開啟輸入姓名查詢成績打印成績結(jié)束消息處理開啟結(jié)束輸入姓名查詢成績打印成績cweb開發(fā)技術(shù)專題知識講座第9

54、4頁第3章 Web窗體基于過程驅(qū)動程序,只能讓用戶按照程序要求好步驟進(jìn)行操作,用戶不能以任何次序跳躍性地輸入數(shù)據(jù)和使用功效?;谑录?qū)動程序,是圍繞著消息產(chǎn)生與處理而展開,而消息不會以任何預(yù)定次序出現(xiàn),所以,Windows程序設(shè)計主要是編寫消息接收與發(fā)送響應(yīng)代碼。cweb開發(fā)技術(shù)專題知識講座第95頁第3章 Web窗體Web窗體實現(xiàn)事件驅(qū)動編程模型和Windows窗體中實現(xiàn)事件驅(qū)動編程模型機(jī)理是不一樣。C/S結(jié)構(gòu)Windows窗體應(yīng)用程序與服務(wù)器之實現(xiàn)是有狀態(tài)連續(xù)連接。Web應(yīng)用程序與服務(wù)器之間是經(jīng)過HTTP協(xié)議來實現(xiàn)通信,是無狀態(tài)斷續(xù)連接。ASP.NETWeb窗體提供了一個標(biāo)準(zhǔn)保持狀態(tài)方式,并

55、隱藏了實際執(zhí)行細(xì)節(jié)。其原理是,Web頁面會在兩次請求之間存放自己ViewState(視圖狀態(tài)),ViewState保留了頁面及頁面上全部控件狀態(tài)值。ViewState由System.Web.UI.StateBag對象負(fù)責(zé)存放。在服務(wù)器端,將ViewState存放為一個字符串變量,返回客戶端。在客戶端,將ViewState存放為一個隱藏窗體字段cweb開發(fā)技術(shù)專題知識講座第96頁第3章 Web窗體Web窗體和服務(wù)器控件都默認(rèn)支持ViewState,能夠經(jīng)過指令實現(xiàn)對頁面級ViewState狀態(tài)打開或關(guān)閉。cweb開發(fā)技術(shù)專題知識講座第97頁第3章 Web窗體3.4.2 Web窗體處理過程及窗體事

56、件要學(xué)習(xí)Web窗體事件驅(qū)動編程,必須要掌握Web窗體處理過程及階段發(fā)生事件。Web Form擴(kuò)展名是.aspx,當(dāng)一個瀏覽器第一次請求一個aspx文件時,Web窗體將被CLR編譯器編譯成一個Page類并實例化,當(dāng)每次請求這個頁面時,這個動態(tài)創(chuàng)建Page類就會實例化,從而得到一個可輸出HTML頁面Page對象。這么,ASP.NET就做了一次編譯屢次執(zhí)行。cweb開發(fā)技術(shù)專題知識講座第98頁第3章 Web窗體一個Web窗體頁面(Page對象)從實例化分配內(nèi)存空間處處理結(jié)束釋放內(nèi)存,普通要經(jīng)歷10個階段,其中有一些階段會觸發(fā)Page對象事件,這些事件各自有不一樣事件處理程序。1、頁面初始化:此階段是

57、初始化頁面生命周期內(nèi)所需設(shè)置,并生成控件樹。初始化會觸發(fā)Page對象第一個事件Page_Init,能夠利用這個事件處理過程重置控件屬性。Page_Iint事件只是在第一次調(diào)入頁面時被調(diào)用,重新載入頁面時并不觸發(fā)該事件。實際應(yīng)用時,普通都跳過Page_Iint,直接使用Page_OnLoad事件。cweb開發(fā)技術(shù)專題知識講座第99頁第3章 Web窗體2、視圖狀態(tài)加載:在此階段讀取隱藏窗體字段值,恢復(fù)控件ViewState屬性。3、回傳數(shù)據(jù)處理:頁面加載在Request對象中緩存窗體數(shù)據(jù),然后更新頁面和控件屬性。Request對象中緩存窗體數(shù)據(jù)是因為用戶在客戶端操作控件而回傳數(shù)據(jù)。4、頁面加載:在

58、此階段創(chuàng)建控件樹中服務(wù)器控件,初始化這些控件并恢復(fù)狀態(tài),會觸發(fā)Page對象Load事件。5、回傳數(shù)據(jù)改變檢驗:在此階段檢驗當(dāng)前回傳和前一次回傳之間狀態(tài)改變,并發(fā)送通知,引發(fā)更改事件cweb開發(fā)技術(shù)專題知識講座第100頁第3章 Web窗體6、回傳事件處理:執(zhí)行與造成回傳客戶端相關(guān)聯(lián).aspx服務(wù)器代碼。7、頁面預(yù)返回:在頁面輸出之前,執(zhí)行任意更新處理。與這個階段相關(guān)聯(lián)Page對象事件是PreRender事件。8、保留視圖狀態(tài):頁面將ViewState屬性內(nèi)容序列化為一個字符串,這個字符串將作為一個隱藏域被附加到HTML頁面。9、頁面返回:在此階段創(chuàng)建展現(xiàn)在客戶端HTML輸出10、頁面卸載:這個階

59、段發(fā)生于一個窗體完成了它任務(wù)而且準(zhǔn)備卸載時候,這個時候引發(fā)頁面Unload事件。cweb開發(fā)技術(shù)專題知識講座第101頁第3章 Web窗體3.5 Web窗體程序?qū)嵗齝web開發(fā)技術(shù)專題知識講座第102頁第3章 Web窗體補(bǔ)充內(nèi)容ASP.NET網(wǎng)頁擴(kuò)展名ASP.NET網(wǎng)站應(yīng)用程序中能夠包含很各種文件類型,下表列出了文件類型及其擴(kuò)展名。cweb開發(fā)技術(shù)專題知識講座第103頁第3章 Web窗體常見頁面指令A(yù)SP.NET窗體源視圖,代碼前幾行包含%.%這么代碼,叫做頁面指令。頁面指令用來定義ASP.NET頁分析器和編譯器使用特定于該頁一些定義。在.aspx文件中常見頁面指令普通有以下幾個。1、指令Pag

60、e指令能夠指定頁面中代碼服務(wù)器編程語言;指定頁面是將服務(wù)器代碼直接包含在其中,還是將代碼包含在單獨文件中;調(diào)試和跟蹤選項,以及頁面是否為某母版頁內(nèi)容頁。語法:cweb開發(fā)技術(shù)專題知識講座第104頁第3章 Web窗體cweb開發(fā)技術(shù)專題知識講座第105頁第3章 Web窗體2、指令I(lǐng)mport指令用于將命名空間顯式導(dǎo)入到ASP.NET應(yīng)用程序文件中,而且導(dǎo)入該命名空間全部類和接口。導(dǎo)入命名空間能夠是.NET Framework類庫一個別,也能夠是用戶定義命名空間一個別。語法:cweb開發(fā)技術(shù)專題知識講座第106頁第3章 Web窗體3、指令Register指令創(chuàng)建標(biāo)識前綴和自定義控件之間關(guān)聯(lián),這為開

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論