ASP.NET 網站開發案例教程[趙增敏主編]電子教案_第1頁
ASP.NET 網站開發案例教程[趙增敏主編]電子教案_第2頁
ASP.NET 網站開發案例教程[趙增敏主編]電子教案_第3頁
ASP.NET 網站開發案例教程[趙增敏主編]電子教案_第4頁
ASP.NET 網站開發案例教程[趙增敏主編]電子教案_第5頁
已閱讀5頁,還剩137頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、http:/http:/http:/edueduedu. . cncn/ / / 電子教學參考資料包目錄第1章 構建asp.net開發環境第2章 visual basic .net語言與面向對象編程第3章 web窗體與服務器控件第4章 驗證控件與用戶控件第5章 asp.net狀態管理第6章 ado.net數據訪問第7章 數據綁定列表控件應用第8章 bbs項目設計第1章 構建asp.net開發環境1.1 理解asp.net1.2 配置asp.net運行環境1.3 visual studio .net開發工具1.4 創建asp.net web應用程序1.1 理解asp.net1.1.1 基本概念1

2、. .net framework.net framework是一種用于構建、部署和運行web應用程序和xml web服務的平臺,它提供了效率極高的、基于標準的多語言環境,能夠將現有的投資與下一代應用程序和服務集成,并能夠迅速應對部署和操作internet規模應用程序的挑戰。.net framework包括三個主要部分:公共語言運行庫、一組分層的統一類庫和asp.net組件。2. asp.netasp.net是microsoft .net framework中一套用于生成web應用程序和xml web服務的技術。asp.net網頁在服務器上執行并生成發送到桌面或移動瀏覽器的標記(如html、wm

3、l或xml)。asp.net網頁使用一種已編譯的、由事件驅動的編程模型,這種模型可以提高性能并支持將應用程序邏輯與用戶界面相隔離。3. web窗體web窗體作為asp.net網頁框架,是由包含可asp.net服務器控件的可編程網頁組成的,這種網頁也稱為web窗體頁。web窗體頁用作web應用程序的用戶界面,它在任何瀏覽器或客戶端設備中向用戶提供信息,并使用服務器端代碼來實現應用程序邏輯。第1章目錄1.1 理解asp.net1.1.2 asp.net的主要優點(1)增強的性能。(2)可視化開發工具支持。(3)威力和靈活性。(4)簡易性。(5)可管理性。(6)可縮放性和可用性。(7)自定義性和擴展

4、性。(8)安全性。第1章目錄1.2 配置asp.net運行環境1.2.1 asp.net平臺要求在windows 2000(professional、server和advanced server)、windows xp professional以及windows server 2003系列產品上,客戶端和服務器應用程序都支持asp.net。此外,要開發asp.net web應用程序,還必須具備以下軟件。n具有service pack 2的windows 2000 server或advanced server、windows xp professional或64位版本,或windows serv

5、er 2003系列產品之一。ninternet信息服務iis 5.0或更高版本。n數據訪問組件mdac 2.7或更高版本。n.net framework 1.x或更高版本。第1章目錄1.2 配置asp.net運行環境1.2.2 安裝iis服務器(1)在windows 2000中,選擇“開始”“設置”“控制面板”命令。(2)在“控制面板”窗口中,雙擊“添加或刪除程序”圖標。(3)在“添加/刪除程序”窗口中,單擊“添加/刪除windows組件”。(4)在“windows組件向導”對話框中,選取“internet信息服務(iis)”組件,單擊“下一步”按鈕,然后根據向導的提示進行操作,直至完成安裝。

6、第1章目錄1.2 配置asp.net運行環境1.2.3 創建虛擬目錄1. 什么是虛擬目錄虛擬目錄是指在物理上未包含在站點主目錄下的特定文件夾,但客戶端瀏覽器卻將其視為包含在主目錄下的目錄。虛擬目錄與一個實際物理目錄相對應,這個實際物理目錄既可以是本地計算機的某個目錄,也可以是遠程計算機上的某個共享目錄。虛擬目錄具有別名,這個別名映射到web內容所在的實際物理目錄,web瀏覽器通過別名來訪問此目錄。2. 創建虛擬目錄在windows 2000 server中,可以使用internet信息服務管理單元在web站點中創建虛擬目錄,主要步驟包括。1)指定虛擬目錄別名。2)輸入與虛擬目錄相對應的物理目錄

7、的路徑。3)設置對虛擬目錄的訪問權限。第1章目錄1.2 配置asp.net運行環境1.2.4 安裝 .net framework要構建asp.net運行環境,除了安裝和配置iis、創建web站點和虛擬目錄之外,還必須安裝數據訪問組件mdac和 .net framework可再發行組件包。此外,還可以選擇安裝 .net framework sdk,以便在開發asp.net應用程序查閱和參考相關的技術文檔。n 安裝數據訪問組件n 安裝net .framework可再發行組件包n 安裝 .net framework sdk第1章目錄1.2 配置asp.net運行環境1.2.5 測試asp.net運行

8、環境安裝運行asp.net應用程序所需的軟件之后,下面通過手寫代碼方式創建一個基于代碼內聯模型的單文件web窗體頁,以便對asp.net運行環境進行測試。第1章目錄1.3 visual studio .net開發工具1.3.1 為什么要使用visual studio .net如果想使用visual basic .net或visual c#語言來開發asp.net web應用程序,visual studio .net就是最佳的開發工具。因為visual studio .net集成開發環境提供更快、更方便、更可靠的方式來開發應用程序的工具,這些工具包括:n項目管理功能,用于創建和管理應用程序文件,

9、包括部署到本地或遠程服務器。n集成的編譯和調試,用于生成應用程序并對應用程序進行測試和調試。n可視化窗體設計器,可以在web窗體上拖放控件并具有語法檢查的html視圖。n代碼識別編輯器,它們包括語句結束、語法檢查和其他智能感知功能。n服務器資源管理器,用于打開數據連接,登錄服務器,瀏覽它們的數據庫和系統服務,可以將節點從服務器資源管理器拖放到設計器上,以創建新的數據組件。第1章目錄1.3 visual studio .net開發工具1.3.2 認識visual studio .net集成開發環境第1章目錄1.4 創建asp.net web應用程序1.4.1 創建web項目(1)啟動visual

10、 studio .net集成開發環境,選擇“文件”“新建”“項目”命令。(2)在“新建項目”對話框的左窗格中選擇項目類型。例如,選擇“visual asic項目”。(3)在該對話框的右窗格中選擇項目模板。例如,選擇“asp.net web應用程序”。(4)在位置框中輸入要創建項目的位置。例如,輸入http:/localhost/asp_net,然后單擊“確定”按鈕。此時,visual studio .net將創建一個新的web項目并在其中添加一些文件和引用項。第1章目錄1.4 創建asp.net web應用程序1.4.2 檢查項目結構asp.net web應用程序模板創建的項目內容nassem

11、blyinfo.vb:用于描述程序集和指定版本控制信息。nglobal.asax:包含用于響應由asp.net引發的應用程序級別事件的代碼。nstyles.css:包含默認的html樣式設置。nweb.config:包含asp.net應用程序的配置信息。nwebform1.aspx:web窗體中包含用戶界面元素的部分。nwebform1.aspx.vb:web窗體的類文件。n對一些 .net framework命名空間的引用。第1章目錄1.4 創建asp.net web應用程序1.4.3 添加web窗體(1)在解決方案資源管理器中單擊文件夾,選擇“項目”“添加web窗體”命令。(2)在“名稱”

12、框中輸入文件名,單擊“打開”按鈕。(3)切換到html視圖,可以看到源代碼首行包含以下 page指令:第1章目錄1.4 創建asp.net web應用程序1.4.4 設計用戶界面(1)設置web窗體的屬性。(2)添加html文本元素。(3)添加htmpinput服務器控件。(4)添加web服務器控件。1.4.5 創建事件處理程序在asp.net中,多數程序都是事件驅動的,即執行流程是由外界發生的事件所確定的。事件是一個信號,它告知應用程序有重要情況發生。例如,用戶單擊窗體上的某個按鈕時,將引發一個click事件并調用一個處理該事件的過程。為了實現web窗體的功能,需要創建按鈕btnok的cli

13、ck事件處理程序。第1章目錄1.4 創建asp.net web應用程序1.4.6 設置web窗體的瀏覽方式在visual studio .net中,瀏覽web窗體有兩種方式:使用集成開發環境內置的瀏覽器和使用internet explorer,默認設置是使用內置瀏覽器。若要設置web窗體的瀏覽方式,可執行以下操作。(1)選擇“文件”“瀏覽方式”命令。(2)從“瀏覽器列表”中選擇用來瀏覽文檔的瀏覽器。(3)單擊“設為默認值”按鈕,然后單擊“關閉”按鈕。第1章目錄1.4 創建asp.net web應用程序1.4.7 編譯、運行和調試web窗體1. 使用“在瀏覽器中查看”功能生成并運行web窗體選擇

14、“文件”“在瀏覽器中查看”命令2. 不用調試器生成并運行web窗體將要運行的web窗體設置為起始頁,然后按ctrl+f53. 使用調試器生成并運行web窗體將要運行的web窗體設置為起始頁,在代碼設置斷點,然后按f5運行,按f11單擊執行第1章目錄第2章 visual basic .net語言與面向對象編程2.1 基本語言元素2.2 條件語句2.3 循環語句2.4 數組2.5 過程2.6 面向對象編程2.1 基本語言元素2.1.1 數據類型第2章目錄2.1 基本語言元素2.1.2 常數和枚舉1. 常數在代碼中可以使用兩類常數,一類是是所用的控件或組件的對象模型的內部常數,另一類是用戶定義的常數

15、。使用const語句聲明常數并設置它的值: public | private const name as type = initexpr2. 枚舉枚舉(enum)是值類型的一種特殊形式,它為基礎類型的值提供替代名稱。通過枚舉可以方便地使用成組的相關常數并將常數值與名稱關聯起來。在類或模塊的聲明部分中用enum語句創建枚舉,語法格式如下: public | private enum name as type membname1 = initexpr1 membname2 = initexpr2 membnamen = initexprnend enum第2章目錄2.1 基本語言元素2.1.3 變

16、量1. 變量命名規則變量命名必須符合以下標識符命名規則。n必須以字母開頭,后跟字母、數字或下劃線。n長度不得超過255個字符。n不能包含嵌入的空格、句號(.)和類型聲明字符(%、&、!、#、及$)。n在同一個范圍內必須是惟一的。n不得與visual basic .net的關鍵字相同。在visual basic .net中,不區分標識符中的大小寫字母。通常在命名時使用一個或多個具有某種意義的英文單詞組成標識符,并且各個單詞的首字母均以大寫形式表示。2. 聲明變量使用dim語句聲明和分配變量的存儲空間,語法格式如下:dim name as new type = initexpr 第2章目錄

17、2.1 基本語言元素2.1.4 運算符1. 算術運算符算術運算符用于執行各種數學運算。算術運算符包括:(冪運算符)、*(乘法運算符)、/(除法運算符)、(整除運算符)、mod(求余運算符)、(加法運算符)以及(減法運算符)。2. 賦值運算符第2章目錄2.1 基本語言元素2.1.4 運算符3. 比較運算符比較運算符用于比較兩個表達式并返回表示比較結果的boolean值,該值為true或false。比較運算符可以分為三種類型。(1)比較數值。使用六種數值比較運算符比較數值,這些運算符包括=(相等)、(不等于)、(小于)、(大于)、=(大于或等于)。(2)比較字符串。使用like運算符比較兩個字符串

18、,語法如下:result = string like pattern其中result為boolean變量,其值表示string是否匹配pattern;string為string表達式;pattern是一個特殊的string表達式,它符合表2.4中描述的模式匹配約定。第2章目錄2.1 基本語言元素2.1.4 運算符3. 比較運算符(3)比較對象。使用is運算符可以確定兩個對象變量是否引用某對象的同一實例,語法格式如下:result = object1 is object2其中result為boolean值,object1和object2都是object類型變量。is運算符確定兩個對象引用是否引用

19、同一個對象。如果object1和object2都引用同一個對象,則result為true,否則result為false。4. 串聯運算符在visual basic .net中,有兩個串聯運算符:&和。第2章目錄2.1 基本語言元素2.1.4 運算符5. 邏輯運算符第2章目錄2.1 基本語言元素2.1.4 運算符6. 運算符優先級當表達式包含不止一種運算符時,按照下列規則進行計算:算術運算符和串聯運算符的優先級均高于比較運算符、邏輯運算符和位運算符;所有比較運算符都具有相同的優先順序,它們的優先級均高于邏輯運算符和位運算符,但低于算術運算符和串聯運算符。邏輯運算符的優先級均低于算術運算符

20、、串聯運算符和比較運算符。具有相同優先順序的運算符將按照它們在表達式中出現的順序從左至右進行計算。第2章目錄2.1 基本語言元素2.1.5 基本語句1. 注釋語句語法rem 注釋文本或者 注釋文本在rem關鍵字與注釋文本之間要求有空格。編譯期間總是忽略注釋,對注釋文本不進行任何處理。2. 賦值語句語法variable = value使用復合賦值運算符的賦值語句:x += y3. 多重語句舉例:t = x : x = y : y = t4. 跨行語句舉例dim myvar as stringmyvar = 白日依山盡,黃河入海流。 & vbcrlf & _ 欲窮千里目,更上一層樓

21、。第2章目錄2.2 條件語句2.2.1 ifthenelse語句n單行if語句if condition then statements else elsestatements n多行if語句if condition_1 then statements elseif condition_2 then elseifstatements elseif condition_n then elseifstatements else elsestatements end if第2章目錄2.2 條件語句2.2.2 select case語句select case語句根據表達式的值,執行若干組語句中的某一組。

22、語法格式如下:select case testexpression case expressionlist statements case else elsestatements end select第2章目錄2.3 循環語句2.3.1 whileend while語句while.end while語句當要給定條件為true時執行一系列語句。語法格式如下:while condition statements end while其中表達式condition的取值為true或false。若condition為nothing,則將condition作為false處理。statements是一條或多條

23、語句,當condition為true時將執行這些語句。執行while.end while語句時,若condition為true,則執行所有的statements直到遇到end while語句;隨后控制返回到while語句并再次檢查condition,若condition仍為true,則重復上面的過程。若為false,則從end while語句后面的語句開始恢復執行。第2章目錄2.3 循環語句2.3.2 doloop語句n將循環條件放在語句首部時,doloop語句的語法格式為:do while | until condition statements exit do statements loo

24、pn將循環條件在語句末尾時,doloop語句的語法格式為:do statements exit do statements loop while | until condition第2章目錄2.3 循環語句2.3.3 fornext語句fornext語句將一組語句重復執行指定的次數,語法格式如下:for counter as datatype = start to end step step statements exit for statements next counter 2.3.4 for eachnext語句for eachnext語句對于集合中的每個元素重復一組語句,語法格式如下:

25、for each element as datatype in group statements exit for statements next element 第2章目錄2.4 數組2.4.1 聲明數組數組變量的聲明與其他變量的聲明一樣,也是使用dim語句。在變量名后加上一對圓括號,即可表示它是數組而不是標量。使用dim語句聲明數組的語法格式如下:dim name(boundlist) as type其中name給出數組的名稱;boundlist是一個非負整數的列表,表示數組變量維度的上限,以逗號分隔多個上限,數組可以具有最多60維;type指定數組元素的數據類型,可以是boolean、b

26、yte、char、date、decimal、double、integer、long、object、short、single或string。第2章目錄2.4 數組2.4.2 調整數組大小對于已經聲明的數組,可以使用redim語句重新分配該數組的存儲空間,語法格式如下:redim preserve name(boundlist)其中preserve關鍵字是可選項,當僅更改最后一個維度的大小時,用來保留現有數組中的數據;name指定數組的名稱。boundlist是一個非負整數列表,表示重定義數組維度的上限。以逗號分隔多個上限,boundlist中的維數必須與數組的原始維數匹配。第2章目錄2.5 過程

27、2.5.1 sub過程sub過程是包含在sub語句和end sub語句之間的一系列語句,每次調用過程時都執行過程中的語句,從sub語句后的第一個可執行語句開始,到遇到的第一個end sub、exit sub或return語句結束。sub過程執行操作但并不返回值,它能夠帶參數,如傳遞給它的常數、變量或表達式。使用sub語句聲明sub過程的名稱、參數和代碼,語法格式如下:private | public sub subname (arglist) statements exit sub | return statements end sub第2章目錄2.5 過程2.5.2 function過程n使

28、用function語句定義function過程的名稱、參數和代碼private | public sub funtionname (arglist) as type statements exit function | return statements end functionn設置函數的返回值n在過程的一個或多個語句中給函數名賦值:function functionname(arglist) as datatype functionname = expression end functionn使用return語句指定返回值:function functionname(arglist) as

29、 datatype return expression end function第2章目錄2.6 面向對象編程2.6.1 類與對象n類和對象是面向對象編程中的基本概念。類是一些內容的抽象表示形式,在類中封裝了對象包含的信息(即屬性)和對象可以執行的操作(即方法),而對象是類所表示的內容的可用實例。n類的聲明public class name inherits classname statements end classn向類添加字段和屬性n向類添加方法n為類創建構造函數n創建類的實例n引用對象的屬性和方法第2章目錄2.6 面向對象編程2.6.2 事件與事件處理程序n在visual basic

30、.net中,多數程序都是事件驅動的,即執行流程是由外界發生的事件所確定的。事件是一個信號,它告知應用程序有特定情況發生。例如,當單擊web窗體頁上的某個按鈕時,會引發一個click事件并調用一個過程來處理該事件。n向類添加事件的步驟。n使用events語句聲明事件。在定義類所用類模塊的聲明部分,通過events語句對事件的名稱及其參數進行聲明。事件不能具有返回值、可選參數或paramarray參數。例如:public event anevent(byval eventnumber as integer)n 使用raiseevent語句觸發事件。使用raiseevent語句可以通知事件處理程序發

31、生了特定的事件,該語句的參數必須是類型的成員事件。如果該事件帶參數,則必須指定參數。如果沒有參數,則可以省略括號。例如:raiseevent anevent(eventnumber)n 使用sub語句定義事件過程。該過程的參數必須與事件的參數保持一致。n使用addhandler語句或handles關鍵字將事件與事件處理程序相關聯。第2章目錄2.6 面向對象編程2.6.3 命名空間1. 聲明命名空間namespace name | componenttypes end namespace其中name為必選項,用于標識命名空間的惟一名稱。componenttypes為可選項,給

32、出組成命名空間的元素,這些元素包括枚舉、結構、接口、類、模塊、委托和其他命名空間。2. 導入命名空間使用imports語句從引用的項目和程序集導入命名空間名稱,也導入在包含該語句的文件所在的同一項目中所定義的命名空間名稱。語法如下:imports aliasname = namespace或imports aliasname = namespace.element第2章目錄2.6 面向對象編程2.6.4 訪問控制npublic:用public修飾符聲明的實體具有公共訪問權限,對公共實體的使用沒有限制。僅可以在模塊、命名空間、類或文件級使用public聲明公共變量。nprivate:用priva

33、te修飾符聲明的實體具有私有訪問權限,私有實體只在其聲明上下文中是可訪問的,包括任何嵌套實體。nprotected:用protected關鍵字聲明的實體具有受保護的訪問權限,僅可以從其自己的類或派生類中訪問它們。只能對類成員指定受保護的訪問。僅可以在類級使用protected聲明受保護的變量,而不能在過程內部以及模塊、命名空間或文件級進行聲明。nfriend:用friend關鍵字聲明的實體具有友元訪問權限,可以從它們的聲明上下文內和同一程序中的任何位置訪問它們。nprotected friend:用protected friend關鍵字聲明的實體同時具有受保護訪問權限和友元訪問權限。在同一程序

34、集中任何位置的代碼、變量自身類中的代碼和任何派生類中的代碼都可以使用這些變量。第2章目錄2.6 面向對象編程2.6.5 重載方法重載是指使用相同的名稱但不同的參數列表,通過多個版本在類中定義過程或構造函數。重載的目的是定義過程的若干個密切相關的版本,而不需要通過名稱來區分它們,而是使用不同的參數列表。過程重載的要求是各個重載版本必須具有互不相同的方式,包括參數的數量、順序或數據類型。2.6.6 繼承與重寫在visual basic .net中,可以基于現有類來聲明新類,現有類稱為基類,新類稱為派生類。在默認情況下,所有類都是可繼承的。派生類繼承并且可以擴展基類的屬性、方法和事件。派生類還可以用

35、新的實現重寫繼承的方法。使用inherits語句可以使當前類繼承其他類的字段、屬性、方法和事件,語法格式如下:inherits typename第2章目錄第3章 web窗體與服務器控件3.1 web窗體3.2 asp.net服務器控件3.3 常用html服務器控件3.4 常用web服務器控件3.1 web窗體3.1.1 web窗體的組成和特點1. web窗體的組件web窗體分為可視組件和編程邏輯兩個部分。web窗體頁由一個包含靜態html和asp.net服務器控件的文件組成,文件擴展名為.aspx。編程邏輯位于與用戶界面文件不同的文件中,該文件稱作“代碼隱藏”文件。如果在代碼隱藏文件中使用vi

36、sual basic .net語言來編寫邏輯,則該文件的擴展名為.aspx.vb;如果在代碼隱藏文件中使用的編程語言是visual c#,則該文件的擴展名為.aspx.cs。2. web窗體的特點n基于microsoft asp.net技術。n兼容所有瀏覽器或移動設備。n兼容.net公共語言運行庫所支持的任何語言。n基于microsoft .net framework生成。n在visual studio中通過強大的快速應用程序開發(rad)工具受到支持。n具有靈活性,因為可以向web窗體上添加用戶創建的控件和第三方控件。n直觀、一致的對象模型。n事件驅動的編程模型。n直觀的狀態管理n獨立于瀏覽

37、器的應用程序。第3章目錄3.1 web窗體3.1.2 web窗體的代碼模型1. 代碼隱藏模型web窗體的可視元素和編輯邏輯分別存儲在兩個文件中,這兩個文件在應用程序運行時形成了一個整體。一個項目中的所有web窗體的代碼隱藏類文件都被編譯成由項目生成的動態鏈接庫(.dll)文件,此文件也稱為項目程序集。web窗體的.aspx頁文件也會被編譯,但編譯的方式稍有不同。當用戶第一次瀏覽到.aspx頁時,asp.net自動生成表示該頁的.net類文件,并將其編譯成另一個動態鏈接庫文件。為.aspx頁生成的類從項目程序集的代碼隱藏類繼承。2. 代碼內聯模型在同一文件中創建視覺元素和代碼,它在功能上與由兩個

38、文件組成的頁非常類似。.aspx文件將直接從page類派生,具有易于部署的優點。3. web窗體中的類繼承關系當在visual studio中為web窗體頁創建頁和類文件時,它將生成從page基類繼承的代碼。第3章目錄3.1 web窗體3.1.3 web窗體的處理過程n往返過程。當用戶請求web窗體時,瀏覽器向用戶展示一個窗體,用戶與該窗體進行交互,這導致該窗體回發(postback)到服務器。但是,因為與服務器組件進行交互的所有處理必須在服務器上發生,這意味著對于要求處理的每一操作而言,必須將該窗體發送到服務器并進行處理,然后返回到瀏覽器。這一事件序列稱作往返過程。npage類的常用屬性和事

39、件nispostback屬性init事件nload事件prerender事件nunload事件nweb窗體處理過程中的事件發生順序page.initpage.load服務器控件事件page.prerenderpage.unload。第3章目錄3.2 asp.net服務器控件3.2.1 asp.net服務器控件的類型1. html服務器控件html服務器控件就是對服務器公開的html元素,可以對其進行編程。html服務器控件公開一個對象模型,該模型十分緊密地映射到相應控件所呈現的html元素。例如,html標記的屬性在html服務器控件中可以作為屬性公開。2. web服務器控件web服務器控件比

40、html服務器控件具有更多內置功能,這類控件不只包括窗體類型的控件,例如按鈕和文本框,而且還包括特殊用途的控件,例如日歷、數據網格。與html服務器控件相比,web服務器控件更為抽象,因為其對象模型不一定反映html語法。3. 驗證控件驗證控件包含邏輯以允許測試用戶輸入的控件。將一個驗證控件附加到輸入控件,測試用戶對該輸入控件輸入的內容。驗證控件可以用于檢查必填字段,對照字符的特定值或模式進行測試,驗證某個值是否在限定范圍之內以及其他目的。4. 用戶控件用戶控件是作為web窗體頁創建的控件,這類控件可以嵌入到其他web窗體頁中,這是創建菜單、工具欄和其他可重用元素的捷徑。第3章目錄3.2 as

41、p.net服務器控件3.2.2 asp.net服務器控件的事件模型與傳統的客戶端窗體中的事件或基于客戶端的web應用程序中的事件相比,由asp.net服務器控件引發的事件的工作方式稍有不同。導致差異的主要原因在于事件本身與處理該事件的位置的分離。在基于客戶端的應用程序中,在客戶端引發和處理事件。在web窗體頁中,與服務器控件關聯的事件在客戶端引發,但由asp.net頁框架在web服務器上進行處理。n注意事項n內部事件集n事件參數nweb服務器控件中的回發和非回發事件n冒泡事件n響應asp.net服務器控件中的客戶端和服務器事件n應用程序和會話事件第3章目錄3.2 asp.net服務器控件3.2

42、.3 添加asp.net服務器控件1. 添加html服務器控件(1)從工具箱的html選項卡將html元素拖到頁中。(2)右擊該元素并選擇“作為服務器控件運行”,將元素轉換為控件。2. 添加web服務器控件向web窗體頁添加web服務器控件時,既可以使用visual studio web窗體設計器從工具箱添加控件,也可以將表示控件的元素添加到html中。3. 使用編程方式動態添加控件除了使用web窗體設計器和asp.net語法添加控件之外,也可以通過編程方式在運行時動態添加控件。第3章目錄3.2 asp.net服務器控件3.2.4 設置asp.net服務器控件的屬性將控件添加到web窗體上以后

43、,還必須根據需要對其屬性進行設置。在設計模式下,既可以在屬性窗口中直接設置控件的屬性,也可以在html視圖中直接修改控件的屬性,還可以通過編寫代碼在程序運行期間動態更改控件的屬性。1. 設計時設置asp.net控件的屬性2. 通過編程設置html服務器控件的屬性3. 通過編程設置web服務器控件的屬性(1)設置基于單值或枚舉的屬性。(2)設置基于單位的屬性。(3)設置顏色屬性。(4)在集合中設置控件屬性。第3章目錄3.3 常用html服務器控件3.3.1 html服務器控件的功能(1)可以在服務器上使用面向對象技術對其進行編程的對象模型。(2)提供一組事件,可以為其編寫事件處理程序,方法與在基

44、于客戶端的窗體中大致相同,所不同的是事件處理是在服務器代碼中完成的。(3)在客戶端腳本中處理事件的能力。(4)自動維護控件狀態。(5)與驗證控件進行交互,以便驗證用戶是否在控件輸入了適當的信息。(6)數據綁定到一個或多個控件屬性。(7)如果web窗體頁顯示在支持層疊樣式表的瀏覽器中,則支持html 4.0樣式。(8)直接可用的自定義屬性。第3章目錄3.3 常用html服務器控件3.3.2 htmlinputbutton控件htmlinputbutton控件映射到、和 html元素,用于創建命令按鈕、提交按鈕或重置按鈕。單擊htmlinputbutton控件時,來自嵌有該控件的窗體的輸入被發送到

45、服務器并得到處理,然后將響應發送回請求瀏覽器。nhtmlinputbutton控件有以下主要屬性和事件。ntype屬性value屬性serverclick事件nhtmlgenericcontrol控件的主要屬性。ninnerhtmlinnertext第3章目錄3.3 常用html服務器控件3.3.3 htmlinputtext控件htmlinputtext控件映射到和html元素,可以用于創建單行文本框以接收用戶輸入。nhtmlinputtext控件的主要屬性ntype屬性maxlength屬性nsize屬性value屬性nserverchange事件n使用response對象的redirec

46、t方法將客戶端重定向到另一個web窗體:response.redirect(url)n使用session對象保存數據:session(變量名) = 變量值第3章目錄3.3 常用html服務器控件3.3.4 htmlinputradiobutton與htmlinputcheckbox控件nhtmlinputradiobutton控件映射到 html元素,可以用于創建單選按鈕,以實現對 html元素進行編程。該控件的主要屬性和事件如下:nname屬性value屬性nchecked屬性serverchange事件nhtmlinputcheckbox控件映射到 html元素,可以用于創建復選框,使用戶

47、可以選擇true或false狀態。該控件的主要屬性和事件如下:nchecked屬性value屬性nserverchange事件第3章目錄3.3 常用html服務器控件3.3.5 htmlselect控件nhtmlselect控件映射到html 元素,使用該控件可以在web窗體上創建下拉式列表框或標準列表框,允許用戶從中進行單項或多項選擇。nhtmlselect控件的主要屬性、方法和事件ndatasource屬性datatextfield屬性ndatavaluefield屬性multiple屬性nitems屬性selectedindex屬性nsize屬性value屬性ndatabind方法ser

48、verchange事件nitems集合的主要屬性和方法ncount屬性add方法nclear方法remove方法nlistitem對象的主要屬性nselectedtextvalue第3章目錄3.3 常用html服務器控件3.3.6 htmlimage控件nhtmlimage控件映射到 html元素,用于在web窗體上顯示圖像。使用htmlimage控件對 html元素進行編程,可以通過使用該控件的屬性來動態地設置和檢索圖像的來源、寬度、高度、替換文本和對齊方式等。nhtmlimage控件的主要屬性nalignnaltnbordernheight和widthnsrc第3章目錄3.3 常用html

49、服務器控件3.3.7 htmlanchor控件nhtmlancho的使用方法n用于導航:使用href屬性定義要鏈接到的web頁的位置。n回發事件:使用serverclick事件以編程方式處理用戶在鏈接上的單擊。nhtmlanchor控件的主要屬性和事件。nhref屬性name屬性ntitle屬性target屬性nserverclick事件第3章目錄3.3 常用html服務器控件3.3.8 htmlinputfile控件n使用htmlinputfile控件對html 元素進行編程。使用該控件可以方便地設計web窗體,該窗體允許用戶將二進制文件或文本文件從瀏覽器上載到在web服務器上指定的目錄中。

50、所有html 3.2和更高版本的web瀏覽器都允許進行文件上載。nhtmlinputfile控件的常用屬性和方法naccept屬性maxlength屬性nsize屬性postedfile方法nhttppostedfile對象的主要屬性和方法ncontentlength屬性contenttype屬性nfilename屬性saveas( filename )方法第3章目錄3.3 常用html服務器控件3.3.9 htmltable、htmltablerow和htmltablecell控件nhtmltable控件由一個表格的rows集合中存儲的行(用htmltablerow對象表示)組成,而每行均由

51、存儲在行的cells集合中的單元格(用htmltablecell對象表示)組成。nhtmltable控件映射到html 元素,用于在web窗體上創建表格。使用該控件可以對html 元素進行編程。nhtmltable控件的主要屬性nalignbgcolornborderbordercolorncellpaddingcellspacingnheightrowsnwidthnhtmltablerow控件映射到html 元素并允許創建和操作表中的行,使用該控件的cells屬性可獲取htmltablecell對象的集合。第3章目錄3.4 常用web服務器控件3.4.1 web服務器控件的功能除了不能一對

52、一映射到html元素外,web服務器控件具有html服務器控件的所有功能,它們還提供了以下功能。n功能豐富的對象模型,該模型具有類型安全編程功能。n自動瀏覽器檢測。控件可以檢測瀏覽器的功能,并為基本型和豐富型(html 4.0)瀏覽器創建適當的輸出。n對于某些控件(例如datalist等),可以使用模板來自定義控件的外觀。n對于某些控件,可以指定控件的事件是立即發送到服務器,還是先緩存然后在提交窗體時引發。n可以將事件從嵌套控件(例如表中的按鈕)傳遞到容器控件。第3章目錄3.4 常用web服務器控件3.4.2 button按鈕nbutton控件用于在web窗體頁上創建普通按鈕,既可以創建提交按

53、鈕,也可以創建命令按鈕。nbutton控件的常用屬性和事件naccesskey屬性enabled屬性ntext屬性tooltip屬性ncausesvalidation屬性commandname屬性ncommandargument屬性click事件ncommand事件n使用linkbutton控件可以在web窗體頁上創建超級鏈接樣式的按鈕。通過設置text屬性指定顯示在linkbutton控件上的文本標題,通過設置tooltip屬性指定當鼠標指針懸停在linkbutton控件上時顯示的文本。單擊linkbutton控件時,將同時引發click和command事件。linkbutton控件的外觀與

54、hyperlink控件相同,也呈現為超級鏈接,但其功能與button控件相同。如果希望單擊控件時鏈接到另一個web頁,則可以考慮使用hyperlink控件創建真正的超級鏈接。n使用imagebutton控件可以在web窗體頁上顯示響應鼠標單擊的圖像。通過設置imageurl屬性指定在控件中顯示的圖像。單擊imagebutton控件時,將同時引發click和command事件。使用click事件處理程序,可以通過編程方式確定圖像被單擊的位置的坐標,并根據坐標值編寫響應代碼。使用command事件處理程序可以使imagebutton控件的行為類似于命令按鈕。第3章目錄3.4 常用web服務器控件3

55、.4.3 label和textbox控件nlabel web服務器控件提供了一種以編程方式設置web窗體頁中文本的方法。通常當希望在運行時更改頁面中的文本(如響應按鈕單擊)時使用label控件。通過text屬性獲取或設置label控件的文本內容。ntextbox web服務器控件是使用戶可以輸入文本的輸入控件。在默認情況下,該控件的textmode屬性設置為singleline,將顯示一個單行文本框。然而,通過將textmode屬性值分別改為multiline或password,textbox控件也可以顯示多行文本框或顯示屏蔽用戶輸入的文本框。使用text屬性,可以指定或確定textbox控件

56、中顯示的文本。ntextbox控件的主要屬性和事件nautopostback屬性text屬性ntextmode屬性enabled屬性ncolumns屬性rows屬性nmaxlength屬性readonly屬性nheight屬性width屬性nwrap屬性databind方法ntextchanged事件第3章目錄3.4 常用web服務器控件3.4.4 radiobutton和radiobuttonlist控件n使用radiobutton服務器控件可以在web窗體上創建一個單選按鈕。nradiobutton控件的常用屬性和事件nautopostback屬性checked屬性nenabled屬性gr

57、oupname屬性ntext屬性textalign屬性ndatabind方法checkedchanged事件n使用radiobuttonlist控件可以在web窗體上創建一組單選按鈕,這些按鈕可以通過數據綁定動態生成。nradiobuttonlist控件的常用屬性、方法和事件nautopostback屬性datasource屬性ndatatextfield屬性datavaluefield屬性nenabled屬性items屬性nrepeatcolumns屬性repeatdirection屬性nrepeatlayout屬性selectedindex屬性nselecteditem屬性selected

58、value屬性ndatabind方法selectedindexchanged事件第3章目錄3.4 常用web服務器控件3.4.5 checkbox和checkboxlist控件n使用checkbox控件可以在web窗體上創建一個復選框控件,它允許用戶在true或false狀態之間切換。ncheckbox控件的常用屬性和事件nautopostback屬性checked屬性nenabled屬性text屬性ntextalign屬性checkedchanged事件n使用checkboxlist控件提供可以通過數據綁定動態生成的多項選擇復選框組,該控件包含一個items集合,集合中的成員與列表中的各項相

59、對應。ncheckboxlist控件的常用屬性、方法和事件nautopostback屬性datasource屬性ndatatextfield屬性datavaluefield屬性nenabled屬性items屬性nrepeatcolumns屬性repeatdirection屬性nrepeatlayout屬性selectedindex屬性nselecteditem屬性selectedvalue屬性ntextalign屬性databind方法nselectedindexchanged事件第3章目錄3.4 常用web服務器控件3.4.6 dropdownlist和listbox控件n使用dropdow

60、nlist控件可以創建一個選擇下拉列表控件,允許用戶從中選擇一項。ndropdownlist控件的常用屬性、方法和事件nautopostback屬性datasource屬性ndatamember屬性datatextfield屬性ndatavaluefield屬性 enabled屬性nitems屬性selectedindex屬性nselecteditem屬性selectedvalue屬性ndatabind方法selectedindexchanged事件nlistbox控件允許用戶從預定義列表中選擇一項或多項,它與dropdownlist控件的不同之處在于,它可以一次顯示多項,而且允許用戶選擇多項。n listbox控件的常用

溫馨提示

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

評論

0/150

提交評論