ASP-.NET介紹-計算機網(wǎng)絡(luò)安全與防護的PPT-互聯(lián)網(wǎng)軟件開發(fā) 課件_第1頁
ASP-.NET介紹-計算機網(wǎng)絡(luò)安全與防護的PPT-互聯(lián)網(wǎng)軟件開發(fā) 課件_第2頁
ASP-.NET介紹-計算機網(wǎng)絡(luò)安全與防護的PPT-互聯(lián)網(wǎng)軟件開發(fā) 課件_第3頁
ASP-.NET介紹-計算機網(wǎng)絡(luò)安全與防護的PPT-互聯(lián)網(wǎng)軟件開發(fā) 課件_第4頁
ASP-.NET介紹-計算機網(wǎng)絡(luò)安全與防護的PPT-互聯(lián)網(wǎng)軟件開發(fā) 課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五章:第五章:介紹介紹內(nèi)容提綱內(nèi)容提綱1、簡介、簡介2、Web窗體窗體3、效勞器控件、效勞器控件4、用戶控件和自定義控件、用戶控件和自定義控件5、性能優(yōu)化、性能優(yōu)化5.3 效勞器控件控件控件控件控件 2.2.標(biāo)準(zhǔn)標(biāo)準(zhǔn)WebWeb控件控件 3.3.其他其他WebWeb控件控件5.3 效勞器控件HMTLHMTL控件控件HTMLHTML控件可以被認(rèn)為是效勞器端控件,因為其可以控件可以被認(rèn)為是效勞器端控件,因為其可以編寫效勞器端事件。編寫效勞器端事件。HTMLHTML控件其定義與應(yīng)用方法和控件其定義與應(yīng)用方法和HTMLHTML標(biāo)記類似,只是標(biāo)記類似,只是需要設(shè)置需要設(shè)置idid和和runatruna

2、t屬性。屬性。idid:代表:代表HTMLHTML控件的名稱??丶拿Q。runatrunat:代表:代表HTMLHTML控件為效勞器端控件,其值為控件為效勞器端控件,其值為“server“server。即:。即:runat=“serverrunat=“server5.3 效勞器控件WebWeb效勞器控件效勞器控件1 1WebWeb效勞器控件可以自動檢測客戶端瀏覽器的類型,效勞器控件可以自動檢測客戶端瀏覽器的類型,產(chǎn)生一個或多個適當(dāng)?shù)漠a(chǎn)生一個或多個適當(dāng)?shù)腍TMLHTML控件,并自動調(diào)整成控件,并自動調(diào)整成適合瀏覽器的輸出。適合瀏覽器的輸出。WebWeb效勞器控件支持?jǐn)?shù)據(jù)綁定技術(shù),可以和數(shù)據(jù)源連

3、效勞器控件支持?jǐn)?shù)據(jù)綁定技術(shù),可以和數(shù)據(jù)源連接,用來顯示或修改數(shù)據(jù)源的數(shù)據(jù)。接,用來顯示或修改數(shù)據(jù)源的數(shù)據(jù)。5.3 效勞器控件WebWeb效勞器控件效勞器控件2 2WebWeb效勞器控件格式如下:效勞器控件格式如下:asp:control_name id=some_id runat=server /每一個每一個WebWeb效勞器控件都有一個效勞器控件都有一個的前綴,表的前綴,表示此控件為示此控件為WebWeb效勞器控件。效勞器控件。每一個每一個WebWeb效勞器控件具有效勞器控件具有idid和和runatrunat屬性,其含義屬性,其含義與與HTMLHTML控件中相應(yīng)的屬性的含義一致??丶邢鄳?yīng)

4、的屬性的含義一致。5.3 效勞器控件效勞器端事件效勞器端事件事件是一種在滿足某種條件如:鼠標(biāo)單擊后開事件是一種在滿足某種條件如:鼠標(biāo)單擊后開始運行的一種程序。始運行的一種程序。在中所引發(fā)的事件分為在中所引發(fā)的事件分為頁面級事件頁面級事件控件級事件控件級事件大局部控件都可以引發(fā)效勞器端事件完成某些功能大局部控件都可以引發(fā)效勞器端事件完成某些功能。5.3 效勞器控件WebWeb效勞器控件的共用屬性效勞器控件的共用屬性屬性屬性說明說明AccessKey用來指定鍵盤的快速鍵??梢灾付ㄟ@個屬性的內(nèi)容為數(shù)字或是英文字母,當(dāng)使用者按下鍵盤上的”Alt”再加上所指定的值時,表示選擇該控件。BackColor設(shè)

5、定對象的背景色,其屬性的設(shè)定值為顏色名稱或是 #RRGGBB 的格式。Visible 決定了控件是否顯示,設(shè)定本屬性為False 時,控件的使用者接口就會消失ToolTip小提示。設(shè)定本屬性時,當(dāng)使用者停留在Web 控件上時就會出現(xiàn)提示的文字5.3 效勞器控件常用常用WebWeb效勞器控件的分類效勞器控件的分類常用的常用的WebWeb效勞器控件有幾下幾類:效勞器控件有幾下幾類:標(biāo)準(zhǔn)控件標(biāo)準(zhǔn)控件數(shù)據(jù)操作控件數(shù)據(jù)操作控件驗證控件驗證控件導(dǎo)航控件導(dǎo)航控件5.3 效勞器控件標(biāo)準(zhǔn)控件標(biāo)準(zhǔn)控件表.常用標(biāo)準(zhǔn)控件控件控件說明說明Button,LinkButton,ImageButton按鈕控件,在鼠標(biāo)單擊時都

6、可以將窗體提交給服務(wù)器TextBox在Web頁面中接收如入的文本內(nèi)容CheckBox,CheckBoxList復(fù)選框RadioButton,RadioButtonList單選框ListBox列表框控件,用戶可以從中選擇一條或多條DropDownList 下拉列表Table表格控件HiddenField存儲用戶不希望顯示的字段5.3 效勞器控件標(biāo)準(zhǔn)控件例如標(biāo)準(zhǔn)控件例如1 1簡單控件簡單控件 textBoxName textBoxPassword TextMode:Password radioButtonMale GroupName:性別 radioButtonFemale GroupName:性

7、別 radioButtonListWork RepeatColumns:4 dropDownListProvince AutoPostBack:True listBoxCity checkBoxListHobby RepeatColumns:2 buttonOK 圖圖 12-1 簡簡單單 Web 服服務(wù)務(wù)器器控控件件綜綜合合示示5.3 效勞器控件標(biāo)準(zhǔn)控件例如標(biāo)準(zhǔn)控件例如2 2表格表格5.3 效勞器控件數(shù)據(jù)操作控件數(shù)據(jù)操作控件表.常用數(shù)據(jù)操作控件控件控件說明說明SqlDataSource 一種數(shù)據(jù)源控件,可以連接到任何ADO.NET支持的數(shù)據(jù)源(如SQL Server、Oracle等),從中檢索

8、數(shù)據(jù),并使得其他控件(如GridView等控件)可以綁定到數(shù)據(jù)源GridView主要用作以表格的形式顯示數(shù)據(jù)DataList一種以自定義格式顯示綁定數(shù)據(jù)源信息的控件DetailsViewDetailsView控件是從關(guān)聯(lián)的數(shù)據(jù)源中逐條顯示記錄的控件FormViewDetailsView控件的使用方法基本相同,均是用于顯示數(shù)據(jù)源中的單個記錄5.3 效勞器控件GridViewGridView控件控件GridView控件主要用作以表格的形式顯示數(shù)據(jù),它不僅可以利用數(shù)據(jù)源控件自動綁定數(shù)據(jù)顯示,還可以直接使用數(shù)據(jù)源控件的數(shù)據(jù)操作命令對表中數(shù)據(jù)進行選擇、排序、編輯等操作。l數(shù)據(jù)綁定和顯示l數(shù)據(jù)編輯l分頁和

9、排序5.3 效勞器控件驗證控件驗證控件1 1WebWeb效勞器驗證控件的作用:檢查用戶輸入信息是否效勞器驗證控件的作用:檢查用戶輸入信息是否有效有效使用驗證控件需要注意的問題:使用驗證控件需要注意的問題:驗證控件不能單獨使用驗證控件不能單獨使用可以對輸入控件同時使用多個驗證控件可以對輸入控件同時使用多個驗證控件驗證控件可以在效勞器端和客戶端執(zhí)行驗證,除非驗證控件可以在效勞器端和客戶端執(zhí)行驗證,除非瀏覽器不支持客戶端驗證,或者顯示禁用客戶端瀏覽器不支持客戶端驗證,或者顯示禁用客戶端驗證驗證EnableClientScriptEnableClientScript屬性設(shè)為屬性設(shè)為falsefalse

10、,否那么效勞器驗證和客戶端驗證都會執(zhí)行。否那么效勞器驗證和客戶端驗證都會執(zhí)行。5.3 效勞器控件驗證控件驗證控件2 2控件控件說明說明ValidationSummary用于在某個固定位置顯示W(wǎng)eb頁上所有驗證控件失敗的錯誤信息。該控件不能單獨使用,它所顯示的錯誤信息內(nèi)容是由對應(yīng)驗證控件的ErrorMessage屬性所指定的RequiredFieldValidator用于驗證用戶是否進行了有效的輸入。RangeValidator用于驗證輸入控件的值是否在指定范圍內(nèi)RegularExpressionValidator 正則表達式控件,用于驗證指定輸入控件的輸入值是否匹配正則表達式指定的模式Cust

11、omValidator自定義驗證邏輯來控制要驗證的輸入控件5.3 效勞器控件驗證控件例如驗證控件例如 textBoxName requiredFieldValidatorName compareValidatorArr-iveType compareValidatorLea-veType textBoxArriveDate compareValidatorArri-veNow textBoxLeaveDate compareValidatorLea-veArrive buttonOK 5.3 效勞器控件導(dǎo)航控件導(dǎo)航控件表.常用導(dǎo)航控件控件控件說明說明SiteMapPath控件是通過顯示一個導(dǎo)航

12、路徑的方式來標(biāo)示當(dāng)前頁在站點中的位置,從而實現(xiàn)站點導(dǎo)航,適于具有分層的網(wǎng)頁Menu菜單控件,主要用來創(chuàng)建頁面上的顯示菜單,可以包含一個主菜單和多個子菜單TreeView用于以樹形結(jié)構(gòu)顯示分層數(shù)據(jù)5.3 效勞器控件SiteMapPathSiteMapPath控件例如控件例如SiteMapPathSiteMapPath控件的站點導(dǎo)航,是通過自動讀取控件的站點導(dǎo)航,是通過自動讀取WebWeb應(yīng)用程序的根目錄下的站點地圖數(shù)據(jù)來實現(xiàn)的,應(yīng)用程序的根目錄下的站點地圖數(shù)據(jù)來實現(xiàn)的,而不需要編寫任何代碼完成。但是只有在站點地而不需要編寫任何代碼完成。但是只有在站點地圖中列出的頁才能在圖中列出的頁才能在Site

13、MapPathSiteMapPath控件中顯示導(dǎo)航控件中顯示導(dǎo)航數(shù)據(jù);數(shù)據(jù);5.3 效勞器控件MenuMenu控件例如控件例如5.3 效勞器控件TreeViewTreeView控件例如控件例如 treeViewMain ExpandDepth:1 LevelStyle: 設(shè)置3種不同的 TreeNodeStyle textBoxName ReadOnly:true 5.4 用戶控件和自定義控件用戶控件和自定義控件用戶控件和自定義控件在中,系統(tǒng)自帶的效勞器控件為應(yīng)用程序開發(fā)提供在中,系統(tǒng)自帶的效勞器控件為應(yīng)用程序開發(fā)提供了諸多便利。在應(yīng)用程序開發(fā)中,除了內(nèi)置的了諸多便利。在應(yīng)用程序開發(fā)中,除了內(nèi)

14、置的HTMLHTML效勞器控件和效勞器控件和WebWeb效勞器控件之外,用戶還可效勞器控件之外,用戶還可以根據(jù)自己的實際需要,編寫自定義的控件。以根據(jù)自己的實際需要,編寫自定義的控件。5.4 用戶控件和自定義控件用戶控件用戶控件用戶控件使開發(fā)人員能夠根據(jù)應(yīng)用程序的需求,方用戶控件使開發(fā)人員能夠根據(jù)應(yīng)用程序的需求,方便的定義和編寫控件。便的定義和編寫控件。開發(fā)所使用的編程技術(shù)與編寫開發(fā)所使用的編程技術(shù)與編寫WebWeb窗體的技術(shù)相同,窗體的技術(shù)相同,只要開發(fā)人員對控件進行修改,就可以將使用該只要開發(fā)人員對控件進行修改,就可以將使用該控件的頁面的所有控件都進行更改??丶捻撁娴乃锌丶歼M行更改。

15、用戶控件的擴展名為用戶控件的擴展名為“ascx“ascx,用戶控件不能單獨,用戶控件不能單獨作為頁面運行,必須嵌入到作為頁面運行,必須嵌入到aspxaspx頁面中,或者嵌頁面中,或者嵌入到其他用戶控件中使用。入到其他用戶控件中使用。在一個大系統(tǒng)中,如網(wǎng)站的導(dǎo)航、網(wǎng)頁的頭部和底在一個大系統(tǒng)中,如網(wǎng)站的導(dǎo)航、網(wǎng)頁的頭部和底部可以做成用戶控件,這樣可以增強頁面之間的部可以做成用戶控件,這樣可以增強頁面之間的藕合性,一個用戶控件藕合性,一個用戶控件* *.ascx.ascx都作為一個獨立的都作為一個獨立的功能塊。需要修改某一功能時,只需要修改相應(yīng)功能塊。需要修改某一功能時,只需要修改相應(yīng)的的* *.a

16、scx.ascx文件。文件。5.4 用戶控件和自定義控件創(chuàng)立用戶控件創(chuàng)立用戶控件用戶控件是以用戶控件是以.ascx.ascx為后綴名的,在為后綴名的,在Visual Studio Visual Studio 20212021中,可以通過【添加新項】選項創(chuàng)立一個用中,可以通過【添加新項】選項創(chuàng)立一個用戶控件戶控件5.4 用戶控件和自定義控件自定義控件自定義控件用戶控件能夠執(zhí)行很多操作。并實現(xiàn)一些功能,但用戶控件能夠執(zhí)行很多操作。并實現(xiàn)一些功能,但是在復(fù)雜的環(huán)境下,用戶控件并不能夠到達開發(fā)是在復(fù)雜的環(huán)境下,用戶控件并不能夠到達開發(fā)人員的要求,是因為用戶控件大局部都是使用現(xiàn)人員的要求,是因為用戶控件

17、大局部都是使用現(xiàn)有的控件進行組裝,編寫事件來到達目的。于是有的控件進行組裝,編寫事件來到達目的。于是,允許開發(fā)人員編寫自定義控件實現(xiàn)復(fù)雜的功能,允許開發(fā)人員編寫自定義控件實現(xiàn)復(fù)雜的功能。自定義控件與用戶控件不同,自定義控件需要定義自定義控件與用戶控件不同,自定義控件需要定義一個直接或間接從一個直接或間接從ControlControl類派生的類。自定義控類派生的類。自定義控件將會編譯成件將會編譯成DLLDLL文件,可以添加到工具箱中,然文件,可以添加到工具箱中,然后直接在頁面上使用后直接在頁面上使用5.4 用戶控件和自定義控件創(chuàng)立自定義控件創(chuàng)立自定義控件5.4 用戶控件和自定義控件用戶控件和自定

18、義控件比較用戶控件和自定義控件比較用戶控件用戶控件自定義控件自定義控件使用率開發(fā)的應(yīng)用程序只適合小范圍的使用開發(fā)的自定義控件能夠在大部分的應(yīng)用程序中被應(yīng)用創(chuàng)建技術(shù)以.ascx形式聲明并創(chuàng)建,開發(fā)過程也比較簡單,并且有設(shè)計器提供設(shè)計支持從System.Web.UI.Control派生而來,開發(fā)過程稍微復(fù)雜,沒有設(shè)計器提供設(shè)計支持生成方式以.ascx的形式呈現(xiàn),無法在工具箱顯示,也不能增加自定義屬性以DLL的形式呈現(xiàn),通過添加引用,能夠在“工具箱”中顯式,能夠像服務(wù)器控件一樣拖動到頁面,并且能夠通過編程開發(fā)增加自定義屬性5.5 性能優(yōu)化性能是成功網(wǎng)站或工程的一個關(guān)鍵因素。對于應(yīng)用程序,可以從以下幾

19、個方面提高性能。頁面和效勞器控件處理狀態(tài)管理數(shù)據(jù)訪問Web應(yīng)用程序編碼5.5 性能優(yōu)化頁面和效勞器控件處理頁面和效勞器控件處理1 1防止不必要的到效勞器的往返行程。防止不必要的到效勞器的往返行程。在某些情況下,可以使用在某些情況下,可以使用 Microsoft Ajax Microsoft Ajax 和局部和局部頁面呈現(xiàn)功能來完成瀏覽器代碼中的任務(wù),而無頁面呈現(xiàn)功能來完成瀏覽器代碼中的任務(wù),而無需執(zhí)行完全回發(fā)。例如,可以先使用需執(zhí)行完全回發(fā)。例如,可以先使用 Ajax Ajax 功能功能來驗證瀏覽器中的用戶輸入,然后再將輸入提交來驗證瀏覽器中的用戶輸入,然后再將輸入提交到效勞器。到效勞器。如果

20、開發(fā)自定義效勞器控件,考慮將它們設(shè)計為針如果開發(fā)自定義效勞器控件,考慮將它們設(shè)計為針對它們的某些功能來呈現(xiàn)客戶端腳本。這樣可以對它們的某些功能來呈現(xiàn)客戶端腳本。這樣可以顯著減少向顯著減少向 Web Web 效勞器發(fā)送信息的次數(shù)。效勞器發(fā)送信息的次數(shù)。5.5 性能優(yōu)化頁面和效勞器控件處理頁面和效勞器控件處理2 2使用使用 Page Page 對象的對象的 IsPostBack IsPostBack 屬性來防止不必要屬性來防止不必要的處理如果只是在首次請求頁時必須運行代碼,的處理如果只是在首次請求頁時必須運行代碼,防止在每次回發(fā)時都運行代碼。防止在每次回發(fā)時都運行代碼。除非有特殊的原因要關(guān)閉緩沖,

21、否那么使其保持翻除非有特殊的原因要關(guān)閉緩沖,否那么使其保持翻開狀態(tài)開狀態(tài) 禁用禁用 ASP.NET ASP.NET 網(wǎng)頁的緩沖會導(dǎo)致大量的網(wǎng)頁的緩沖會導(dǎo)致大量的性能開銷。性能開銷。5.5 性能優(yōu)化狀態(tài)管理狀態(tài)管理1 1僅在必要時才保存效勞器控件視圖狀態(tài)僅在必要時才保存效勞器控件視圖狀態(tài) 視圖狀態(tài)視圖狀態(tài)使效勞器控件可以在往返行程中重新填充屬性值使效勞器控件可以在往返行程中重新填充屬性值,而無需編寫代碼。,而無需編寫代碼。 但是,由于在隱藏形式的字但是,由于在隱藏形式的字段中,視圖狀態(tài)會傳入和傳出效勞器,因此它會段中,視圖狀態(tài)會傳入和傳出效勞器,因此它會影響性能和頁大小。影響性能和頁大小。默認(rèn)情

22、況下,已對所有效勞器控件啟用了視圖狀態(tài)默認(rèn)情況下,已對所有效勞器控件啟用了視圖狀態(tài)。 假設(shè)要對某個控件禁用它,將該控件的假設(shè)要對某個控件禁用它,將該控件的 EnableViewState EnableViewState 屬性設(shè)置為屬性設(shè)置為 false false asp:datagrid EnableViewState=false datasource=. runat=server/ 可以使用可以使用 Page Page 指令對某個頁禁用視圖狀態(tài)指令對某個頁禁用視圖狀態(tài) 5.5 性能優(yōu)化狀態(tài)管理狀態(tài)管理2 2當(dāng)不使用會話狀態(tài)時禁用它。假設(shè)要對某個頁禁用當(dāng)不使用會話狀態(tài)時禁用它。假設(shè)要對某個頁

23、禁用會話狀態(tài),將會話狀態(tài),將 Page Page 指令中的指令中的 EnableSessionState EnableSessionState 特性設(shè)置為特性設(shè)置為 false false 為應(yīng)用程序選擇適宜的會話狀態(tài)提供程序。為應(yīng)用程序選擇適宜的會話狀態(tài)提供程序。ASP.NET ASP.NET 提供了多種方法用來存儲應(yīng)用程序的會提供了多種方法用來存儲應(yīng)用程序的會話數(shù)據(jù)。話數(shù)據(jù)。 其中包括進程內(nèi)會話狀態(tài)、作為其中包括進程內(nèi)會話狀態(tài)、作為 Windows Windows 效勞的進程外會話狀態(tài)以及效勞的進程外會話狀態(tài)以及 SQL SQL Server Server 數(shù)據(jù)庫中進程外會話狀態(tài)。數(shù)據(jù)庫中

24、進程外會話狀態(tài)。 每種方法都每種方法都有自己的優(yōu)點,但進程內(nèi)會話狀態(tài)是目前為止速有自己的優(yōu)點,但進程內(nèi)會話狀態(tài)是目前為止速度最快的方法。度最快的方法。5.5 性能優(yōu)化數(shù)據(jù)訪問數(shù)據(jù)訪問1 1將將 SQL Server SQL Server 和存儲過程用于數(shù)據(jù)訪問。和存儲過程用于數(shù)據(jù)訪問。使用托管使用托管 SQL Server SQL Server 提供程序時,可通過盡可能提供程序時,可通過盡可能使用編譯的存儲過程而不是使用使用編譯的存儲過程而不是使用 SQL SQL 命令來獲得命令來獲得額外的性能提升。額外的性能提升。將將 SqlDataReader SqlDataReader 類用于快進只讀數(shù)據(jù)游標(biāo)類用于快進只讀數(shù)據(jù)游標(biāo) SqlDataReader SqlDataReader 類創(chuàng)立從類創(chuàng)立從 SQL Server SQL Server 數(shù)據(jù)庫檢數(shù)據(jù)庫檢索的僅向前、只讀數(shù)據(jù)流。索的僅向前、只讀數(shù)據(jù)流。 SqlDataReader SqlDataReader 類使用類使用 SQL Server

溫馨提示

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

評論

0/150

提交評論