版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、VISUAL C#.NET WEB 應(yīng)用程序設(shè)計第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è)模式。總體說來,.net就是一個應(yīng)用基礎(chǔ)平臺,它包括一組軟件產(chǎn)品、技術(shù)和服務(wù),用來連接信息、人、系統(tǒng)和各種設(shè)備,連接的主要方式是Web Service,其最終目的就是讓用戶在任何地方,任何時間,以及利用任何設(shè)備都能訪問所需的信息、文件和程序。用戶不需要知道這些文件放在什么地方,只需要發(fā)出請求后接
2、收即可,而所有后臺的復(fù)雜性是完全屏蔽起來的。第1章 .net框架與ASP.NET概述1.1.2 .net框架概述.net框架包含兩個最基本的部分:公共語言運行庫CLR和.net類庫CL。公共語言運行庫是.net框架的基礎(chǔ),可以將它看成一個程序執(zhí)行時的容器,提供內(nèi)存管理、線程管理和遠程處理等核心任務(wù)。用戶編寫的程序并不是直接編譯為windows可以執(zhí)行的二進制文件,而是編譯為CLR能夠執(zhí)行的中間語言IL,然后由CLR來執(zhí)行。托管代碼與非托管代碼第1章 .net框架與ASP.NET概述.net類庫是一組廣泛的、面向?qū)ο蟮?、可重用類的集合,可以為?yīng)用程序提供各種高級的組件和服務(wù)。它主要包括以下組件和
3、服務(wù):ADO.NET組件XML組件Windows表單組件ASP.NET Web組件ASP.NET應(yīng)用服務(wù)XMLWeb服務(wù)系統(tǒng)框架服務(wù)第1章 .net框架與ASP.NET概述第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ò)中的一臺主機,由于它提供Web、FTP等網(wǎng)絡(luò)服務(wù),因此稱為服務(wù)器。當用戶在地址欄中輸入地址時,瀏覽器會向服務(wù)器發(fā)送HTTP請求,這個請求使用HTTP協(xié)議,其中包括請求的主機名、HTTP版本號、端口、虛擬目錄、網(wǎng)頁名稱
4、等信息。服務(wù)器在收到請求信息后,將回復(fù)的信息準備好,再通過網(wǎng)絡(luò)傳遞給客戶端瀏覽器。客戶端瀏覽器在接收到服務(wù)器傳遞的信息后,將其解釋并顯示在瀏覽器的窗口中。第1章 .net框架與ASP.NET概述第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é)果將生成一個HTML文件,然后將其傳遞給客戶端瀏覽器。動態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁的根本區(qū)別在于服務(wù)器端傳遞給客戶端瀏覽器的HTML文件是事先存儲好的還是由動態(tài)網(wǎng)頁程序生成的。靜
5、態(tài)網(wǎng)頁文件里只有HTML標記,動態(tài)網(wǎng)頁文件里不僅有HTML標記,并且還含有程序代碼。第1章 .net框架與ASP.NET概述1.2.2 瀏覽器/服務(wù)器模式及其優(yōu)點這種軟件架構(gòu)主要利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合動態(tài)網(wǎng)站制作技術(shù),通過通用瀏覽器實現(xiàn)了原來需要復(fù)雜的專用軟件才能實現(xiàn)的強大功能,節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。第1章 .net框架與ASP.NET概述1.2.3 常見動態(tài)網(wǎng)頁制作技術(shù)目前,使用比較多的動態(tài)網(wǎng)頁制作技術(shù)有ASP,ASP.NET,JSP,PHP等。ASP:ASP的核心是腳本語言,這決定了它的先天不足,即它無法進行像傳統(tǒng)編程語言那樣的底層操作,ASP通過解
6、釋執(zhí)行,運行效率較低,腳本代碼與HTML代碼混在一起,不利于開發(fā)人員進行管理與維護。JSP:是Sun公司推出的一種動態(tài)網(wǎng)頁技術(shù)標準,它主要的編程腳本為Java。PHP:ASP:是微軟繼ASP后推出的全新動態(tài)網(wǎng)頁制作技術(shù)第1章 .net框架與ASP.NET概述1.3 ASP.NET技術(shù)概述ASP.NET采用編譯方式。大規(guī)模地應(yīng)用了緩存技術(shù),它采用事件機制,最大限度地實現(xiàn)了處理邏輯與顯示代碼分離。ASP.NET提供了功能強大的服務(wù)器控件。ASP.NET AJAX內(nèi)建支持,.net中連接數(shù)據(jù)庫的類庫由ADO升級到ADO.NET,ASP.NET是一個完全面向?qū)ο蟮南到y(tǒng)。ASP.NET支持多語言開發(fā)。第
7、1章 .net框架與ASP.NET概述1.3.1 搭建ASP.NET的運行環(huán)境ASP.NET Web應(yīng)用程序是由多個ASP.NET頁面、相關(guān)配置文件及其他成分組成的。頁面的擴展名為aspx,頁面程序運行在服務(wù)器端,需要一系列的運行環(huán)境支持。如圖所示。ASP.NET應(yīng)用程序IIS6.0網(wǎng)站服務(wù)器.NET Framework操作系統(tǒng)IE6.0瀏覽器第1章 .net框架與ASP.NET概述1 操作系統(tǒng)ASP.NET被推薦運行在Windows操作系統(tǒng)上。ASP.NET可以運行的操作系統(tǒng)如下:Windows2000Windows XP ProfessionalWindows Server 2003Win
8、dows VistaWindows Server 2008Windows 7第1章 .net框架與ASP.NET概述2 Web服務(wù)器運行ASP.NET應(yīng)用程序需要 IIS6.0以上版本的Web服務(wù)器。3 .NET環(huán)境要正常運行ASP.NET需要在計算機上安裝.NET運行環(huán)境,即.NET Framework。ADO.NET需要安裝微軟數(shù)據(jù)訪問組件MDAC2.7以上的版本。第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)配置文
9、件組成,并且需要在Web服務(wù)器上才能正常運行。在一個Web服務(wù)器上可以運行多個網(wǎng)站,但每一個網(wǎng)站端口或者IP地址都應(yīng)該不相同。每個網(wǎng)站只有一個根目錄,可以有多個虛擬目錄,每個虛擬目錄可以運行一個Web應(yīng)用程序。通常情況下,IIS中一個虛擬目錄下的所有文件組成一個Web應(yīng)用程序,不同的虛擬目錄代表著不同的Web應(yīng)用程序。第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 Studio第1章 .net框架與ASP.NET
10、概述1.3.4 使用Visual Studio創(chuàng)建Web應(yīng)用程序1、創(chuàng)建Web應(yīng)用程序2、編輯、編譯應(yīng)用程序3、發(fā)布應(yīng)用程序復(fù)制網(wǎng)站發(fā)布網(wǎng)站第1章 .net框架與ASP.NET概述IIS6.0網(wǎng)站的目錄管理在較小的Web網(wǎng)站上,Web內(nèi)容文件通常包含在一個目錄樹下,管理起來并不復(fù)雜。較大的Web網(wǎng)站通常將HTML內(nèi)容文件、Web應(yīng)用程序及數(shù)據(jù)庫存儲在同一計算機的若干個目錄中,或者網(wǎng)絡(luò)中多個計算機上的多個目錄中,目錄管理就不那么簡單了,為使其他目錄中的內(nèi)容和信息也能夠通過Web網(wǎng)站發(fā)布,應(yīng)創(chuàng)建虛擬目錄,當然也可在主目錄或虛擬目錄的物理目錄下直接創(chuàng)建目錄來管理內(nèi)容第1章 .net框架與ASP.NE
11、T概述1、虛擬目錄與物理目錄虛擬目錄實際上并不包含在主目錄中,但在顯示給客戶瀏覽器時就像是位于主目錄中一樣。虛擬目錄有一個別名,供Web瀏覽器訪問此目錄,別名通常比目錄的路徑短,更便于用戶輸入。使用別名更安全,因為用戶不知道文件是否真的存在于服務(wù)器上,所以無法使用這些信息來修改文件。使用別名可以更方便地移動和修改網(wǎng)站中的目錄結(jié)構(gòu),一旦要更改目錄,只需更改別名與目錄實際位置的映射即可??蓪⒅髂夸浛闯删W(wǎng)站的“根”虛擬目錄。第1章 .net框架與ASP.NET概述與虛擬目錄不同,物理目錄就是直接在文件系統(tǒng)中創(chuàng)建的真實目錄,它可映射為不同的主目錄或虛擬目錄。用戶可以直接在Windows系統(tǒng)中創(chuàng)建和刪除
12、物理目錄,也可在IIS管理器中管理物理目錄。在IIS管理器中展開某個主目錄或虛擬目錄時,其對應(yīng)的物理目錄中的內(nèi)容也將顯示出來。第2章 Web開發(fā)基礎(chǔ)本章重點HTML標記的使用DIV+CSS頁面布局HTML/XHTML是網(wǎng)頁設(shè)計語言,CSS是描述頁面外觀的層疊樣式表,DIV+CSS模式是當面頁面布局的主流技術(shù)第2章 Web開發(fā)基礎(chǔ)2.1 HTML簡介2.1.1 HTMLHTML(Hyper Text Markup Language,超文本標記語言)是描述網(wǎng)頁的標記語言。XHTML是更嚴格、更純凈的HTML版本,符合W3C標準,HTML4.1與XHTML幾乎是相同的。HTML大約有一百多個標記,這
13、些標記用于描述HTML文檔中數(shù)據(jù)的顯示格式。HTML網(wǎng)頁是HTML標記語言描述的文本文件。HTML文件由Web服務(wù)器發(fā)送給客戶端瀏覽器,客戶端瀏覽器按HTML描述的格式將其顯示在瀏覽器窗口內(nèi),HTML文件通過HTTP協(xié)議,使HTML文件可以在因特網(wǎng)上進行文件交換和訪問。HTML文件是純文本文件。第2章 Web開發(fā)基礎(chǔ)2.1.2 URLURL(Uniform Resource Locators,統(tǒng)一資源定位器)是Internet中資源的簡單命名機制。它由三部分組成:協(xié)議、主機DNS名或IP地址、文件名。URL的優(yōu)點在于,可明確指定使用Internet服務(wù)的協(xié)議,每個文檔、程序、其他文件都有各自的
14、地址。第2章 Web開發(fā)基礎(chǔ)URL支持的協(xié)議file 資源是本地計算機上的文件。格式file:/ ftp 通過 FTP訪問資源。格式 FTP:/ gopher 通過Gopher協(xié)議訪問該資源。 http 通過HTTP訪問該資源。 格式 HTTP:/ https 通過安全的HTTPS訪問該資源。 格式 HTTPS:/ mailto 資源為電子郵件地址,通過 SMTP 訪問。 格式 mailto: mms 通過支持MMS(流媒體)協(xié)議的播放該資源。(代表軟件:Windows Media Player)格式 MMS:/ ed2k 通過支持ed2k(專用下載鏈接)協(xié)議的P2P軟件訪問該資源。(代表軟件
15、:電驢) 格式 ed2k:/flashget 通過支持Flashget:(專用下載鏈接)協(xié)議的P2P軟件訪問該資源。(代表軟件:快車) 格式 Flashget:/ thunder 通過支持thunder(專用下載鏈接)協(xié)議的P2P軟件訪問該資源。(代表軟件:迅雷) 格式 thunder:/ news 通過 NNTP 訪問該資源。 tencent 通過支持tencent(專用聊天連接) 協(xié)議和用戶對話。(代表軟件:QQ、TM)格式 tencent:/message/?uin=號碼&Site=&Menu=yes msnim 通過支持msnim(專用聊天連接) 協(xié)議和用戶對話。(代表軟件:MSN、W
16、LM) 格式 msnim:chat?contact=郵箱地址第2章 Web開發(fā)基礎(chǔ)2.1.3 HTML文件結(jié)構(gòu)1、HTML的標記與屬性HTML標記又稱標簽,是用”括起來的標識符,括號中間的標識符為標記名稱。HTML標記通過指定某塊信息為段落或標題等來標識文檔的某個部分。HTML標記分為單標記和成對標記兩種。成對標記有開始標記和結(jié)束標記,并配套使用,成對標記只作用于開始標記和結(jié)束標記之間的文檔。單標記只有開始標記。屬性是標記中的參數(shù)選項,大多數(shù)標記有一些自己的屬性,有些標記有一些共用的屬性,各屬性之間無先后順序,如果省略屬性則采用默認值。屬性的一般使用格式如下:第2章 Web開發(fā)基礎(chǔ)一個標記可以
17、有多個屬性,它們都被放置在起始標記內(nèi)一個屬性一般只在定義它的標記范圍內(nèi)起作用,但對于嵌套的標記結(jié)構(gòu),外層樣式表單的某些屬性可能被內(nèi)層標記繼承不同的標記所擁有的屬性是不同的,有些屬性為某一標記所獨有,有些屬性為某幾個標記所共有,有些屬性是絕大多數(shù)標記都有的,它們稱為通用屬性,HTML定義了6個通用屬性,它們是:ID:文檔范圍內(nèi)的標識符CLASS:給一個標記指定一個或多個類名LANG:文檔的語言信息DIR:文檔文字的走向信息TITLE:關(guān)于標記的簡短說明STYLE:給出標記的樣式第2章 Web開發(fā)基礎(chǔ)2、文檔頭與文檔體HTML文件必須由標記開頭,標記結(jié)束。一個完整的HTML文檔分為文檔頭和文檔體兩
18、部分。文檔頭信息包含在之間,包括有關(guān)此網(wǎng)頁的標題、導(dǎo)入樣式表等信息。文檔體包含在之間,是網(wǎng)頁的主體部分。第2章 Web開發(fā)基礎(chǔ)3、標記與顏色設(shè)定文檔體標記有影響整個網(wǎng)頁顯示方式的屬性,顏色設(shè)置通常有兩種形式,一種是直接表示法,另一種是RGB三色表示法,用三組十六進制數(shù)的RGB值表示,如#FF0000,#00FF00,#0000FF。第2章 Web開發(fā)基礎(chǔ)2.2 常用的HTML標記2.2.1 HTML的文字標記1、標記該標記在之間,標記之間的內(nèi)容將顯示在瀏覽器的標題欄中。2、標記是一個段落的開始標記段落文字是換行標記用于插入一條水平線第2章 Web開發(fā)基礎(chǔ)3、標記用來設(shè)置網(wǎng)頁中標題的文字,標題分
19、為6級,用hn標記中的n:16表示。標題內(nèi)容4、標記用來控制文字的字體、大小和顏色5、標記分別表示文字的粗體、斜體、下劃線標記,可以組合使用。第2章 Web開發(fā)基礎(chǔ)6、標記分別是文本的下標和上標標記2.2.2 特殊標記和圖形標記1、 和" 表示空格, "表示雙引號2、標記注釋標記第2章 Web開發(fā)基礎(chǔ)3、標記用來在網(wǎng)頁中顯示圖形。圖形文件與網(wǎng)頁文件是分別存儲的,可以通過標記將圖形顯示在網(wǎng)頁中。4、標記對象居中標記,凡在此標記中間的對象都會被居中輸出。第2章 Web開發(fā)基礎(chǔ)2.2.3 超鏈接標記標記為超鏈接標記,一般使用格式如下:超鏈接顯示名稱Href屬性
20、取值為鏈接的目標地址,可以是絕對路徑,也可以是相對路徑。Target屬性取值為鏈接的目標窗口,可以是_parent、_blank、_self、_top等值,也可以是窗口名稱或idTitle屬性取值為指向鏈接時所顯示的標題文字第2章 Web開發(fā)基礎(chǔ)2.3表格2.3.1 定義表格的基本語法在HTML中表格是通過表格標記、行標記、列標題標記和列內(nèi)容標記等配合使用來定義的。第2章 Web開發(fā)基礎(chǔ)2.3.2 表格標記的屬性Align屬性為表格在頁面上水平擺放的位置Border屬性取值單位為像素,值為表格邊框的寬度Cellpadding屬性取值單位為像素,值為單元格內(nèi)容與單元格邊界之間的空白距離Cells
21、pacing屬性取值單位為像素,值為單元格之間的距離Width屬性為表格寬度,取值單位為像素或頁面寬度的百分比Heigth屬性為表格高度,取值單位為像素或頁面高度的百分比Frame屬性為表格四周邊框的顯示狀態(tài),取值為box、void、hsides、vsides、alove、below、rhs、lhsRules屬性為表格內(nèi)分隔線的顯示方式,取值為all、groups、rows、cols、none。第2章 Web開發(fā)基礎(chǔ)2.3.3行標記的屬性Align屬性Valign屬性:行內(nèi)容的垂直對齊方式Bgcolor屬性取值為行的背景色Bordercolorlight屬性取值為行的亮邊框顏色Borderco
22、lordark屬性取值為行的暗邊框顏色Height屬性2.3.4單元格和標記的屬性第2章 Web開發(fā)基礎(chǔ)補充:有序表與無序表創(chuàng)建一個有序列表,創(chuàng)建一個無序列表。對于有序列表和無序列表,表中的每一項由元素定義。瀏覽器自動給有序表中的項目冠以序號,給無序表中的項目冠以黑點,并且縮進編排。常見屬性Type屬性:適用于,用以給出表項的樣式信息Start屬性:適用于元素,用以給出有序表中首項的起始編號第2章 Web開發(fā)基礎(chǔ)補充:表單表單是一個包含表單元素的區(qū)域。表單元素是允許用戶在表單中(比如:文本域、下拉列表、單選框、復(fù)選框等等)輸入信息的元素。表單使用表單標簽()定義。第2章 Web開發(fā)基礎(chǔ)輸入輸入
23、多數(shù)情況下被用到的表單標簽是輸入標簽()。輸入類型是由類型屬性(type)定義的。大多數(shù)經(jīng)常被用到的輸入類型如下文本域(文本域(Text Fields)當用戶要在表單中鍵入字母、數(shù)字等內(nèi)容時,就會用到文本域。第2章 Web開發(fā)基礎(chǔ)單選按鈕(單選按鈕(Radio Buttons)當用戶從若干給定的的選擇中選取其一時,就會用到單選框。第2章 Web開發(fā)基礎(chǔ)復(fù)選框(復(fù)選框(Checkboxes)當用戶需要從若干給定的選擇中選取一個或若干選項時,就會用到復(fù)選框。第2章 Web開發(fā)基礎(chǔ)表單的動作屬性(表單的動作屬性(Action)和確認按鈕)和確認按鈕當用戶單擊確認按鈕時,表單的內(nèi)容會被傳送到另一個文件
24、。表單的動作屬性定義了目的文件的文件名。由動作屬性定義的這個文件通常會對接收到的輸入數(shù)據(jù)進行相關(guān)的處理。假如您在下面的文本框內(nèi)鍵入幾個字母,然后點擊確認按鈕,那么輸入數(shù)據(jù)會傳送到 html_form_action.asp 的頁面。該頁面將顯示出輸入的結(jié)果。第2章 Web開發(fā)基礎(chǔ)第2章 Web開發(fā)基礎(chǔ)第2章 Web開發(fā)基礎(chǔ)第2章 Web開發(fā)基礎(chǔ)2.4 頁面布局頁面布局技術(shù)是Web應(yīng)用程序開發(fā)的關(guān)鍵技術(shù)之一,DIV+CSS頁面布局模式是w3c標準的一個典型應(yīng)用,具有許多功能上的優(yōu)勢。2.4.1CSS簡介CSS 指層疊樣式表 (Cascading Style Sheets) 樣式定義如何顯示 HTM
25、L 元素 樣式通常存儲在樣式表中 把樣式添加到 HTML 4.0 中,是為了解決內(nèi)容與表現(xiàn)分離的問題 外部樣式表可以極大提高工作效率 外部樣式表通常存儲在 CSS 文件中 多個樣式定義可層疊為一個樣式表第2章 Web開發(fā)基礎(chǔ)樣式解決了一個普遍的問題樣式解決了一個普遍的問題HTML 標簽原本被設(shè)計為用于定義文檔內(nèi)容。通過使用 、 這樣的標簽,HTML 的初衷是表達“這是標題”、“這是段落”、“這是表格”之類的信息。同時文檔布局由瀏覽器來完成,而不使用任何的格式化標簽。由于兩種主要的瀏覽器(Netscape 和 Internet Explorer)不斷地將新的 HTML 標簽和屬性(比如字體標簽和
26、顏色屬性)添加到 HTML 規(guī)范中,創(chuàng)建文檔內(nèi)容清晰地獨立于文檔表現(xiàn)層的站點變得越來越困難。為了解決這個問題,萬維網(wǎng)聯(lián)盟(W3C),這個非營利的標準化聯(lián)盟,肩負起了 HTML 標準化的使命,并在 HTML 4.0 之外創(chuàng)造出樣式(Style)。所有的主流瀏覽器均支持層疊樣式表。第2章 Web開發(fā)基礎(chǔ)樣式表極大地提高了工作效率樣式表極大地提高了工作效率樣式表定義如何顯示 HTML 元素,就像 HTML 3.2 的字體標簽和顏色屬性所起的作用那樣。樣式通常保存在外部的 .css 文件中。通過僅僅編輯一個簡單的 CSS 文檔,外部樣式表使你有能力同時改變站點中所有頁面的布局和外觀。由于允許同時控制多
27、重頁面的樣式和布局,CSS 可以稱得上 WEB 設(shè)計領(lǐng)域的一個突破。作為網(wǎng)站開發(fā)者,你能夠為每個 HTML 元素定義樣式,并將之應(yīng)用于你希望的任意多的頁面中。如需進行全局的更新,只需簡單地改變樣式,然后網(wǎng)站中的所有元素均會自動地更新。第2章 Web開發(fā)基礎(chǔ)多重樣式將層疊為一個多重樣式將層疊為一個樣式表允許以多種方式規(guī)定樣式信息。樣式可以規(guī)定在單個的 HTML 元素中,在 HTML 頁的頭元素中,或在一個外部的 CSS 文件中。甚至可以在同一個 HTML 文檔內(nèi)部引用多個外部樣式表。層疊次序?qū)盈B次序當同一個當同一個 HTML 元素被不止一個樣式定義時,會使用哪個樣式呢?元素被不止一個樣式定義時,
28、會使用哪個樣式呢?一般而言,所有的樣式會根據(jù)下面的規(guī)則層疊于一個新的虛擬樣式表中,其中數(shù)字 4 擁有最高的優(yōu)先權(quán)。1瀏覽器缺省設(shè)置 2外部樣式表 3內(nèi)部樣式表(位于 標簽內(nèi)部) 4內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部) 因此,內(nèi)聯(lián)樣式(在 HTML 元素內(nèi)部)擁有最高的優(yōu)先權(quán),這意味著它將優(yōu)先于以下的樣式聲明: 標簽中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。第2章 Web開發(fā)基礎(chǔ)CSS 語法語法CSS 規(guī)則由兩個主要的部分構(gòu)成:選擇器,以及一條或多條聲明。選擇器通常是您需要改變樣式的 HTML 元素。每條聲明由一個屬性和一個值組成屬性(property)是您希望設(shè)置的
29、樣式屬性(style attribute)。每個屬性有一個值。屬性和值被冒號分開。第2章 Web開發(fā)基礎(chǔ)第2章 Web開發(fā)基礎(chǔ)多重聲明:多重聲明:提示:如果要定義不止一個聲明,則需要用分號將每個聲明分開。下面的例子展示出如何定義一個紅色文字的居中段落。最后一條規(guī)則是不需要加分號的,因為分號在英語中是一個分隔符號,不是結(jié)束符號。然而,大多數(shù)有經(jīng)驗的設(shè)計師會在每條聲明的末尾都加上分號,這么的好處是,當你從現(xiàn)有的規(guī)則中增減聲明時,會盡可能的減少出錯的可能性。就像這樣:第2章 Web開發(fā)基礎(chǔ)空格和大小寫空格和大小寫大多數(shù)樣式表包含不止一條規(guī)則,而大多數(shù)規(guī)則包含不止一個聲明。多重聲明和空格的使用使得樣式
30、表更容易被編輯:是否包含空格不會影響 CSS 在瀏覽器的工作效果,同樣,與 XHTML 不同,CSS 對大小寫不敏感。不過存在一個例外:如果涉及到與 HTML 文檔一起工作的話,class 和 id 名稱對大小寫是敏感的。第2章 Web開發(fā)基礎(chǔ)選擇器的分組選擇器的分組你可以對選擇器進行分組,這樣,被分組的選擇器就可以分享相同的聲明。用逗號將需要分組的選擇器分開。在下面的例子中,我們對所有的標題元素進行了分組。所有的標題元素都是綠色的。第2章 Web開發(fā)基礎(chǔ)id 選擇器選擇器id 選擇器可以為標有特定 id 的 HTML 元素指定特定的樣式。id 選擇器以 # 來定義。第2章 Web開發(fā)基礎(chǔ)CS
31、S 類選擇器類選擇器在 CSS 中,類選擇器以一個點號顯示第2章 Web開發(fā)基礎(chǔ)如何插入樣式表如何插入樣式表當讀到一個樣式表時,瀏覽器會根據(jù)它來格式化 HTML 文檔。插入樣式表的方法有三種外部樣式表內(nèi)部樣式表內(nèi)聯(lián)樣式第2章 Web開發(fā)基礎(chǔ)外部樣式表外部樣式表當樣式需要應(yīng)用于很多頁面時,外部樣式表將是理想的選擇。在使用外部樣式表的情況下,你可以通過改變一個文件來改變整個站點的外觀。每個頁面使用 標簽鏈接到樣式表。 標簽在(文檔的)頭部。外部樣式表可以在任何文本編輯器中進行編輯。文件不能包含任何的 html 標簽。樣式表應(yīng)該以 .css 擴展名進行保存。第2章 Web開發(fā)基礎(chǔ)內(nèi)部樣式表內(nèi)部樣式表
32、當單個文檔需要特殊的樣式時,就應(yīng)該使用內(nèi)部樣式表。你可以使用 標簽在文檔頭部定義內(nèi)部樣式表,就像這樣:第2章 Web開發(fā)基礎(chǔ)內(nèi)聯(lián)樣式內(nèi)聯(lián)樣式由于要將表現(xiàn)和內(nèi)容混雜在一起,內(nèi)聯(lián)樣式會損失掉樣式表的許多優(yōu)勢。請慎用這種方法,例如當樣式僅需要在一個元素上應(yīng)用一次時。要使用內(nèi)聯(lián)樣式,你需要在相關(guān)的標簽內(nèi)使用樣式(style)屬性。Style 屬性可以包含任何 CSS 屬性。第2章 Web開發(fā)基礎(chǔ)偽類偽類用來表示動態(tài)事件、狀態(tài)改變或在文檔中以其他方法不能輕易實現(xiàn)的情況。偽類對目標元素中出現(xiàn)的某種特殊狀態(tài)應(yīng)用樣式,例如超鏈接等。偽類允許設(shè)計人員自由指定元素在一種狀態(tài)下的外觀。與普通類不同,偽類屬性的前面只
33、能有一個冒號。偽類語法第2章 Web開發(fā)基礎(chǔ)錨偽類錨偽類在支持 CSS 的瀏覽器中,鏈接的不同狀態(tài)都可以不同的方式顯示,這些狀態(tài)包括:活動狀態(tài),已被訪問狀態(tài),未被訪問狀態(tài),和鼠標懸停狀態(tài)。a:link color: #FF0000 /* 未訪問的鏈接 */ a:visited color: #00FF00 /* 已訪問的鏈接 */ a:hover color: #FF00FF /* 鼠標移動到鏈接上 */ a:active color: #0000FF /* 選定的鏈接 */ 提示:在 CSS 定義中,a:hover 必須被置于 a:link 和 a:visited 之后,才是有效的。提示:在
34、 CSS 定義中,a:active 必須被置于 a:hover 之后,才是有效的。提示:偽類名稱對大小寫不敏感。第2章 Web開發(fā)基礎(chǔ)第2章 Web開發(fā)基礎(chǔ)應(yīng)用字體外觀第2章 Web開發(fā)基礎(chǔ)操作文本顯示第2章 Web開發(fā)基礎(chǔ)背景色和背景圖像第2章 Web開發(fā)基礎(chǔ)盒模型:控制外邊距、邊框、內(nèi)邊距、寬度和高度CSS中的盒模型是基于CSS的Web設(shè)計中取重要的概念之一。盒模型是針對HTML元素的一組規(guī)則,指定了元素的高度、寬度、內(nèi)邊距、邊框和外邊距是如何度量的。CSS盒模型是定義元素周圍的間隔、尺寸、外邊距、邊框以及元素內(nèi)容和邊框之間內(nèi)邊距的一組屬性的集合。第2章 Web開發(fā)基礎(chǔ)第2章 Web開發(fā)基
35、礎(chǔ)元素框的最內(nèi)部分是實際的內(nèi)容,直接包圍內(nèi)容的是內(nèi)邊距。內(nèi)邊距呈現(xiàn)了元素的背景。內(nèi)邊距的邊緣是邊框。邊框以外是外邊距,外邊距默認是透明的,因此不會遮擋其后的任何元素。提示:背景應(yīng)用于由內(nèi)容和內(nèi)邊距、邊框組成的區(qū)域。在 CSS 中,width 和 height 指的是內(nèi)容區(qū)域的寬度和高度。增加內(nèi)邊距、邊框和外邊距不會影響內(nèi)容區(qū)域的尺寸,但是會增加元素框的總尺寸。第2章 Web開發(fā)基礎(chǔ)假設(shè)框的每個邊上有 10 個像素的外邊距和 5 個像素的內(nèi)邊距。如果希望這個元素框達到 100 個像素,就需要將內(nèi)容的寬度設(shè)置為 70 像素,請看下圖:第2章 Web開發(fā)基礎(chǔ)使用margin屬性使頁面居中第2章 We
36、b開發(fā)基礎(chǔ)CSS浮動浮動的框可以向左或向右移動,直到它的外邊緣碰到包含框或另一個浮動框的邊框為止。由于浮動框不在文檔的普通流中,所以文檔的普通流中的塊框表現(xiàn)得就像浮動框不存在一樣。第2章 Web開發(fā)基礎(chǔ)當把框 1 向右浮動時,它脫離文檔流并且向右移動,直到它的右邊緣碰到包含框的右邊緣:第2章 Web開發(fā)基礎(chǔ)當框 1 向左浮動時,它脫離文檔流并且向左移動,直到它的左邊緣碰到包含框的左邊緣。因為它不再處于文檔流中,所以它不占據(jù)空間,實際上覆蓋住了框 2,使框 2 從視圖中消失。如果把所有三個框都向左移動,那么框 1 向左浮動直到碰到包含框,另外兩個框向左浮動直到碰到前一個浮動框。第2章 Web開發(fā)
37、基礎(chǔ)如果包含框太窄,無法容納水平排列的三個浮動元素,那么其它浮動塊向下移動,直到有足夠的空間。如果浮動元素的高度不同,那么當它們向下移動時可能被其它浮動元素“卡住”:第2章 Web開發(fā)基礎(chǔ)CSS float 屬性屬性在 CSS 中,我們通過 float 屬性實現(xiàn)元素的浮動。float 屬性定義元素在哪個方向浮動。以往這個屬性總應(yīng)用于圖像,使文本圍繞在圖像周圍,不過在 CSS 中,任何元素都可以浮動。浮動元素會生成一個塊級框,而不論它本身是何種元素。假如在一行之上只有極少的空間可供浮動元素,那么這個元素會跳至下一行,這個過程會持續(xù)到某一行擁有足夠的空間為止。第2章 Web開發(fā)基礎(chǔ)行框和清理行框和
38、清理浮動框旁邊的行框被縮短,從而給浮動框留出空間,行框圍繞浮動框第2章 Web開發(fā)基礎(chǔ)CSS 定位定位 (Positioning)CSS 為定位和浮動提供了一些屬性,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊,還可以完成多年來通常需要使用多個表格才能完成的任務(wù)。定位的基本思想很簡單,它允許你定義元素框相對于其正常位置應(yīng)該出現(xiàn)的位置,或者相對于父元素、另一個元素甚至瀏覽器窗口本身的位置。第2章 Web開發(fā)基礎(chǔ)一切皆為框一切皆為框div、h1 或 p 元素常常被稱為塊級元素。這意味著這些元素顯示為一塊內(nèi)容,即“塊框”。與之相反,span 和 strong 等元素稱為“行內(nèi)元素”,
39、這是因為它們的內(nèi)容顯示在行中,即“行內(nèi)框”。您可以使用 display 屬性改變生成的框的類型。這意味著,通過將 display 屬性設(shè)置為 block,可以讓行內(nèi)元素(比如 元素)表現(xiàn)得像塊級元素一樣。還可以通過把 display 設(shè)置為 none,讓生成的元素根本沒有框。這樣的話,該框及其所有內(nèi)容就不再顯示,不占用文檔中的空間。第2章 Web開發(fā)基礎(chǔ)CSS 定位機制定位機制CSS 有三種基本的定位機制:普通流、浮動和絕對定位。除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (X)HTML 中的位置決定。塊級框從上到下一個接一個地排列,框之間的垂直距離是由框
40、的垂直外邊距計算出來。行內(nèi)框在一行中水平布置。可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過,設(shè)置行高可以增加這個框的高度。第2章 Web開發(fā)基礎(chǔ)CSS position 屬性屬性通過使用 position 屬性,我們可以選擇 4 種不同類型的定位,這會影響元素框生成的方式。position 屬性值的含義:static 元素框正常生成。塊級元素生成一個矩形框,作為文檔流的一部分,行內(nèi)元素則會創(chuàng)建一個或多個行框,置于其父元素中。 relative 元素
41、框偏移某個距離。元素仍保持其未定位前的形狀,它原本所占的空間仍保留。 absolute 元素框從文檔流完全刪除,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者是初始包含塊。元素原先在正常文檔流中所占的空間會關(guān)閉,就好像元素原來不存在一樣。元素定位后生成一個塊級框,而不論原來它在正常流中生成何種類型的框。 Fixed 元素框的表現(xiàn)類似于將 position 設(shè)置為 absolute,不過其包含塊是視窗本身。第3章 Web窗體本章內(nèi)容了解Web窗體的概念與技術(shù)優(yōu)點理解Web窗體的代碼分離技術(shù),掌握代碼內(nèi)聯(lián)與后臺編碼理解Web窗體的事件驅(qū)動編程了解Web窗體的處理過程及窗體事件掌握Web窗
42、體的常用事件編程本章重點Web窗體的概念及代碼分離Web窗體的事件驅(qū)動編程及窗體處理過程第3章 Web窗體3.1 Web窗體概述3.1.1 Web窗體的創(chuàng)建Web窗體(Web Form,Web表單)及其架構(gòu)是基于.net通用運行環(huán)境的可擴展編程模型,類似于C#程序設(shè)計中的Windows窗體,主要是用來生成與用戶交互的界面,并實現(xiàn)頁面內(nèi)容與代碼的完全分離。第3章 Web窗體3.1.2 Web窗體的概念與技術(shù)優(yōu)點1、Web窗體的概念開發(fā)工具為用戶提供了一個ASP.NET頁面編輯界面,一個名稱為Default.aspx的頁面,可以將這個可視化的編程界面理解為Web窗體,它是一個ASP.NETWeb窗
43、體在編程階段的呈現(xiàn)。ASP.NET提供的Web窗體是一個容器對象,它不僅有自己的屬性、方法和事件,而且能容納HTML服務(wù)器控件、Web服務(wù)器控件等對象。開發(fā)工具通過Web窗體架構(gòu),實現(xiàn)了Web頁面設(shè)計中“所見即所得”。第3章 Web窗體ASP.NET的Web窗體模型由兩部分組成,即用戶界面UI和實現(xiàn)邏輯。用戶界面中含有頁面布局信息和ASP.NET服務(wù)器控件的HTML模板,它負責對瀏覽器上的Web窗體進行顯示。實現(xiàn)邏輯部分是對Web窗體進行邏輯處理的ASP.NET代碼,它負責生成Web窗體上動態(tài)顯示的內(nèi)容,這些內(nèi)容通常由用戶界面部分定義的服務(wù)器控件顯示。實現(xiàn)邏輯和用戶界面生成的HTML協(xié)同工作,
44、可以實現(xiàn)完全動態(tài)的Web頁面。第3章 Web窗體2、Web窗體的技術(shù)優(yōu)點Web窗體可以使用公共語言運行庫所支持的程序語言來編寫Visual Studio集成開發(fā)環(huán)境提供了豐富的服務(wù)器控件,為頁面設(shè)計提供了所見即所得的設(shè)計支持,極大地提高了開發(fā)效率豐富的服務(wù)器控件使開發(fā)者能夠順利地將頁面邏輯封裝至一個可重復(fù)使用的組件中,減少了開發(fā)人員必須編寫的代碼量Web窗體模型將頁面的顯示代碼和邏輯處理代碼分離,從而解決了頁面代碼難以維護的問題Web窗體模型包含了多狀態(tài)管理的特性,可以方便地保存頁面的狀態(tài)Web窗體具有可擴展性,能夠很好地使用第三方控件第3章 Web窗體3.1.3 Web窗體的組成文件一個We
45、b窗體由兩個文件構(gòu)成,即包含HTML內(nèi)容的用戶界面(.aspx或ascx文件)和后臺代碼文件(.aspx.cs)。第3章 Web窗體3.2 代碼內(nèi)聯(lián)與后臺編碼ASP.NET是通過代碼內(nèi)聯(lián)和后臺編碼這兩種形式來實現(xiàn)用戶界面和實現(xiàn)邏輯的聯(lián)系的。代碼內(nèi)聯(lián)就是將用戶界面和實現(xiàn)邏輯放在同一個文件中后臺編碼就是將實現(xiàn)邏輯和用戶界面分別存在兩個不同的文件中。ASP.NET默認創(chuàng)建的頁面是頁面顯示代碼和邏輯處理代碼相分離的,在添加新頁面時,可以選擇采用代碼內(nèi)聯(lián)或后臺編碼模式。第3章 Web窗體3.2.1 后臺編碼當執(zhí)行ASP.NET頁面時,.aspx文件和.aspx.cs文件會編譯生成一個可執(zhí)行的page對象
46、。每個.aspx文件都有一個Page指令,Page指令的常用屬性如下:Language:指定了該頁面所使用的語言AutoEventWireup:指示控件的事件是否自動匹配。如果啟用事件自動匹配,則為 true;否則為 false。默認值為 true。CodeFile:指定了該頁面所關(guān)聯(lián)的后臺處理代碼文件Inherits:定義供頁繼承的隱藏代碼類,可以是從Page類派生的任意類。第3章 Web窗體2、代碼內(nèi)聯(lián)代碼內(nèi)聯(lián)是將用戶界面與邏輯實現(xiàn)部分的代碼放在一個文件中,但是邏輯部分和頁面部分還是明顯地區(qū)分為兩個部分。其中邏輯部分包含在標記之間,并為標記添加了runat=“server”屬性。用戶界面部
47、分包含在之間。在標記中添加了runat=“server”屬性。runat=server表示在服務(wù)器端運行,然后生成相應(yīng)的客戶端代碼。普通的HTML控件,如果不加runat=server,直接在客戶端運行。第3章 Web窗體3.3 ASP.NET的執(zhí)行過程當用戶請求Default.aspx頁面時,IIS是如何將Default.aspx與Default.aspx.cs進行組合編譯生成HTML代碼響應(yīng)用戶的請求呢。ASP.NET頁面的執(zhí)行過程是一個較復(fù)雜的過程,涉及到IIS、CLR、Framework等。1、IIS將請求轉(zhuǎn)交給aspnet_isapi.dll。IIS會根據(jù)訪問者請求的IP、端口、虛擬
48、目錄和文件名查找對應(yīng)站點,找到站點后依據(jù)所要求的文件擴展來啟動對應(yīng)的IIS Extension程序處理此要求,aspx這個文件擴展名與aspnet_isapi.dll對應(yīng),控制權(quán)交給aspnet_isapi.dll。第3章 Web窗體2、aspnet_isapi.dll轉(zhuǎn)交給ASP.NET Worker Process.aspnet_isapi.dll只是一個入口,真正處理工作的是其轉(zhuǎn)交的ASP.NET WP,WP首先解析訪問者請求中的虛擬目錄信息,決定創(chuàng)建或使用先前已建好的AppDomain對象來處理此請求。3、WP將請求轉(zhuǎn)交給ISAPIRuntime對象。WP將要求轉(zhuǎn)送至虛擬目錄對應(yīng)的Ap
49、plication Domain中的ISAPIRuntime對象。此對象的主要功能是由ISAPI封包中解析出信息后轉(zhuǎn)交給HttpRuntime對象。4、ISAPIRuntime對象將請求轉(zhuǎn)交給HttpRuntime對象。5、HttpRuntime對象將請求轉(zhuǎn)交給HttpApplication對象。6、 HttpApplication對象將請求轉(zhuǎn)交給Httphandler對象7、 Httphandler對象轉(zhuǎn)交給Page對象8、Page對象創(chuàng)建過程。第3章 Web窗體3.4 Web窗體的事件驅(qū)動編程3.4.1事件驅(qū)動編程的概念在DOS時代的編程模型中,程序是按順序執(zhí)行的,這類程序稱為面向過程的程
50、序設(shè)計。面向過程的應(yīng)用程序一般有一個明顯的開始,一個明顯的過程和一個明顯的結(jié)束。事件驅(qū)動程序的最大特點就是:程序的執(zhí)行不是由程序的順序來控制的,而是由事件的發(fā)生順序來控制的。第3章 Web窗體啟動輸入姓名查詢成績打印成績結(jié)束消息處理啟動結(jié)束輸入姓名查詢成績打印成績第3章 Web窗體基于過程驅(qū)動的程序,只能讓用戶按照程序規(guī)定好的步驟進行操作,用戶不能以任何順序跳躍性地輸入數(shù)據(jù)和使用功能。基于事件驅(qū)動的程序,是圍繞著消息的產(chǎn)生與處理而展開的,而消息不會以任何預(yù)定的順序出現(xiàn),因此,Windows程序設(shè)計主要是編寫消息的接收與發(fā)送的響應(yīng)代碼。第3章 Web窗體Web窗體實現(xiàn)事件驅(qū)動的編程模型和Wind
51、ows窗體中實現(xiàn)事件驅(qū)動編程模型的機理是不一樣的。C/S結(jié)構(gòu)的Windows窗體應(yīng)用程序與服務(wù)器之實現(xiàn)的是有狀態(tài)持續(xù)連接。Web應(yīng)用程序與服務(wù)器之間是通過HTTP協(xié)議來實現(xiàn)通信的,是無狀態(tài)的斷續(xù)連接。ASP.NET的Web窗體提供了一種標準的保持狀態(tài)的方式,并隱藏了實際執(zhí)行的細節(jié)。其原理是,Web頁面會在兩次請求之間存儲自己的ViewState(視圖狀態(tài)),ViewState保存了頁面及頁面上所有控件的狀態(tài)值。ViewState由System.Web.UI.StateBag對象負責存儲。在服務(wù)器端,將ViewState存儲為一個字符串變量,返回客戶端。在客戶端,將ViewState存儲為一個隱
52、藏的窗體字段第3章 Web窗體Web窗體和服務(wù)器控件都默認支持ViewState,可以通過指令實現(xiàn)對頁面級的ViewState狀態(tài)的打開或關(guān)閉。第3章 Web窗體3.4.2 Web窗體的處理過程及窗體事件要學(xué)習Web窗體的事件驅(qū)動編程,必須要掌握Web窗體的處理過程及階段發(fā)生的事件。Web Form的擴展名是.aspx,當一個瀏覽器第一次請求一個aspx文件時,Web窗體將被CLR編譯器編譯成一個Page類并實例化,當每次請求這個頁面時,這個動態(tài)創(chuàng)建的Page類就會實例化,從而得到一個可輸出HTML頁面的Page對象。這樣,ASP.NET就做了一次編譯多次執(zhí)行。第3章 Web窗體一個Web窗體
53、頁面(Page對象)從實例化分配內(nèi)存空間到處理結(jié)束釋放內(nèi)存,一般要經(jīng)歷10個階段,其中有一些階段會觸發(fā)Page對象的事件,這些事件各自有不同的事件處理程序。1、頁面初始化:此階段是初始化頁面生命周期內(nèi)所需的設(shè)置,并生成控件樹。初始化會觸發(fā)Page對象的第一個事件Page_Init,可以利用這個事件處理過程重置控件的屬性。Page_Iint事件只是在第一次調(diào)入頁面時被調(diào)用,重新載入頁面時并不觸發(fā)該事件。實際應(yīng)用時,一般都跳過Page_Iint,直接使用Page_OnLoad事件。第3章 Web窗體2、視圖狀態(tài)加載:在此階段讀取隱藏窗體字段的值,恢復(fù)控件的ViewState屬性。3、回傳數(shù)據(jù)處理:
54、頁面加載在Request對象中緩存的窗體數(shù)據(jù),然后更新頁面和控件屬性。Request對象中緩存的窗體數(shù)據(jù)是由于用戶在客戶端操作控件而回傳的數(shù)據(jù)。4、頁面加載:在此階段創(chuàng)建控件樹中的服務(wù)器控件,初始化這些控件并恢復(fù)狀態(tài),會觸發(fā)Page對象的Load事件。5、回傳數(shù)據(jù)變化檢查:在此階段檢查當前回傳和前一次回傳之間的狀態(tài)改變,并發(fā)送通知,引發(fā)更改事件第3章 Web窗體6、回傳事件處理:執(zhí)行與導(dǎo)致回傳的客戶端相關(guān)聯(lián)的.aspx服務(wù)器代碼。7、頁面預(yù)返回:在頁面輸出之前,執(zhí)行任意更新處理。與這個階段相關(guān)聯(lián)的Page對象事件是PreRender事件。8、保存視圖狀態(tài):頁面將ViewState屬性的內(nèi)容序列
55、化為一個字符串,這個字符串將作為一個隱藏域被附加到HTML頁面。9、頁面返回:在此階段創(chuàng)建呈現(xiàn)在客戶端的HTML輸出10、頁面卸載:這個階段發(fā)生于一個窗體完成了它的任務(wù)并且準備卸載的時候,這個時候引發(fā)頁面的Unload事件。第3章 Web窗體3.5 Web窗體的程序?qū)嵗?章 Web窗體補充內(nèi)容ASP.NET網(wǎng)頁擴展名ASP.NET網(wǎng)站應(yīng)用程序中可以包含很多種文件類型,下表列出了文件類型及其擴展名。第3章 Web窗體常用頁面指令A(yù)SP.NET窗體的源視圖,代碼的前幾行包含%.%這樣的代碼,叫做頁面指令。頁面指令用來定義ASP.NET頁分析器和編譯器使用的特定于該頁的一些定義。在.aspx文件中
56、常用的頁面指令一般有以下幾種。1、指令Page指令可以指定頁面中代碼的服務(wù)器編程語言;指定頁面是將服務(wù)器代碼直接包含在其中,還是將代碼包含在單獨的文件中;調(diào)試和跟蹤選項,以及頁面是否為某母版頁的內(nèi)容頁。語法:第3章 Web窗體第3章 Web窗體2、指令I(lǐng)mport指令用于將命名空間顯式導(dǎo)入到ASP.NET應(yīng)用程序文件中,并且導(dǎo)入該命名空間的所有類和接口。導(dǎo)入的命名空間可以是.NET Framework類庫的一部分,也可以是用戶定義的命名空間的一部分。語法:第3章 Web窗體3、指令Register指令創(chuàng)建標記前綴和自定義控件之間的關(guān)聯(lián),這為開發(fā)人員提供了一種在ASP.NET應(yīng)用程序文件中引用自
57、定義控件的簡單方法。語法:第3章 Web窗體Register指令語法中各屬性的說明如下表:第3章 Web窗體4、指令Control指令與Page指令基本相似,在.aspx文件中包含了Page指令,而在.ascx文件中則不包含Page指令,該文件中包含Control指令。該指令只能用于用戶控件(.ascx)中。每個.ascx文件只能包含一條Control指令。此外,對于每個Control指令,只允許定義一個Language屬性,因為每個控件只能使用一種語言。語法:第3章 Web窗體5、指令Master指令只能在母版頁(.master文件)中使用,用于標識ASP.NET母版頁。每個.master文
58、件只能包含一條Master指令。語法:第3章 Web窗體第3章 Web窗體6、指令MasterType指令為ASP.NET頁的Master屬性分配類名,使得該頁可以獲取對母版頁成員的強類型引用。語法:第3章 Web窗體ASPX文件內(nèi)容注釋服務(wù)器端注釋()允許開發(fā)人員在ASP.NET應(yīng)用程序文件的任何部分(除了代碼塊內(nèi)部)嵌入代碼注釋。服務(wù)器端注釋元素的開始標記和結(jié)束標記之間的任何內(nèi)容,不管是APS.NET代碼還是文本,都不會在服務(wù)器上進行處理或呈現(xiàn)在結(jié)果頁上。如果代碼塊中的代碼需要注釋,則使用HTML代碼中的注釋()。此標記用于告知瀏覽器忽略該標記中的語句。第3章 Web窗體第3章 Web窗體
59、服務(wù)器端注釋用于頁面的主體,但不在服務(wù)器端代碼塊中使用。當在代碼聲明塊(包含在標記中的代碼)或代碼呈現(xiàn)塊(包含在標記中的代碼)中使用特定語言是,應(yīng)使用用于編碼的語言的注釋語法。如果在塊中使用服務(wù)器端注釋塊,則會出現(xiàn)編譯錯誤。開始和結(jié)束注釋標記可以出現(xiàn)在同一行代碼中,也可以由許多被注釋掉的行隔開。服務(wù)器端注釋塊不能被嵌套。第3章 Web窗體ASP.NET 服務(wù)器控件標記語法ASP.NET服務(wù)器控件比HTML控件具有更多內(nèi)置功能。Web服務(wù)器控件不僅包括窗體控件,而且包括特殊用途的控件。Web服務(wù)器控件與HTML控件相比更為抽象,因為其對象模型不一定反映HTML語法。ASP.NET服務(wù)器控件標記語
60、法如下:代碼中主要標記是runat=“server”,標記這服務(wù)器控件,如果將HTML控件升級為服務(wù)器控件,將runat=“server”標記添加到HTML控件中即可。第3章 Web窗體創(chuàng)建ASP.NET網(wǎng)站并熟悉開發(fā)環(huán)境設(shè)計Web頁面布局頁面:通過兩種方法可以實現(xiàn)布局Web頁面,一個是Table表格布局Web窗體,另一個是CSS+DIV布局Web窗體。添加服務(wù)器控件:添加服務(wù)器控件既可以通過拖動的方式添加,也可以通過ASP.NET網(wǎng)頁代碼添加。添加ASP.NET文件夾ASP.NET應(yīng)用程序包含7個默認文件夾,分別為Bin,App_code,App_GlobalResources,App_Lo
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 腎內(nèi)分泌科護理工作總結(jié)
- 2025年全球及中國醫(yī)用全自動凝血分析儀行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國企業(yè)級機械硬盤和固態(tài)硬盤行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球3D晶體管行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球立式不銹鋼離心泵行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球汽車電池試驗箱行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國游戲人工智能NPC行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球自動藥敏分析儀行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國無線藍牙肉類溫度計行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國固定橋式坐標測量機行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030年中國清真食品行業(yè)運行狀況及投資發(fā)展前景預(yù)測報告
- 廣東省茂名市電白區(qū)2024-2025學(xué)年七年級上學(xué)期期末質(zhì)量監(jiān)測生物學(xué)試卷(含答案)
- 《教育強國建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 山東省濱州市2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 2025年河南洛陽市孟津區(qū)引進研究生學(xué)歷人才50人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年度軍人軍事秘密保護保密協(xié)議與信息安全風險評估合同3篇
- 數(shù)字化轉(zhuǎn)型中的職業(yè)能力重構(gòu)
- 運用PDCA降低住院患者跌倒-墜床發(fā)生率
- 2025屆高中數(shù)學(xué)一輪復(fù)習專練:橢圓(含解析)
- 立春氣象與生活影響模板
- 中國服裝零售行業(yè)發(fā)展環(huán)境、市場運行格局及前景研究報告-智研咨詢(2025版)
評論
0/150
提交評論