第4章_ASP服務(wù)器控件_第1頁
第4章_ASP服務(wù)器控件_第2頁
第4章_ASP服務(wù)器控件_第3頁
第4章_ASP服務(wù)器控件_第4頁
第4章_ASP服務(wù)器控件_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第第4章章ASP.NET服務(wù)器控件服務(wù)器控件 2內(nèi)容v服務(wù)器控件概述服務(wù)器控件概述 vHTML服務(wù)器控件服務(wù)器控件 vWeb服務(wù)器控件服務(wù)器控件 v驗(yàn)證控件驗(yàn)證控件 v用戶控件用戶控件 34.1 服務(wù)器控件概述服務(wù)器控件概述 vASP.NET服務(wù)器控件可以分為如下幾類:服務(wù)器控件可以分為如下幾類:HTML服務(wù)器控件服務(wù)器控件:提供了對標(biāo)準(zhǔn):提供了對標(biāo)準(zhǔn)HTML元素的類封裝,在元素的類封裝,在HTML控件中控件中添加一個(gè)在服務(wù)器端運(yùn)行的屬性,即添加一個(gè)在服務(wù)器端運(yùn)行的屬性,即可以由通用的客戶端可以由通用的客戶端HTML控件轉(zhuǎn)變控件轉(zhuǎn)變?yōu)榉?wù)器端為服務(wù)器端HTML控件,使開發(fā)人員控件,使開發(fā)人員

2、可以對其進(jìn)行編程。可以對其進(jìn)行編程。4Web服務(wù)器控件服務(wù)器控件:比:比HTML服務(wù)器控件具有服務(wù)器控件具有更多功能。更多功能。Web服務(wù)器控件不僅包括窗體控服務(wù)器控件不僅包括窗體控件(例如按鈕和文本框),而且還包括特殊件(例如按鈕和文本框),而且還包括特殊用途的控件(例如日歷、菜單和樹視圖控用途的控件(例如日歷、菜單和樹視圖控件)。件)。Web服務(wù)器控件與服務(wù)器控件與HTML服務(wù)器控件服務(wù)器控件相比更為抽象,因?yàn)槠鋵ο竽P筒灰欢ǚ从诚啾雀鼮槌橄?,因?yàn)槠鋵ο竽P筒灰欢ǚ从矵TML語法。語法。驗(yàn)證控件驗(yàn)證控件:這些控件可以使開發(fā)人員更容易對:這些控件可以使開發(fā)人員更容易對一些控件中的數(shù)據(jù)進(jìn)行驗(yàn)證

3、。如驗(yàn)證控件可用于一些控件中的數(shù)據(jù)進(jìn)行驗(yàn)證。如驗(yàn)證控件可用于對必填字段進(jìn)行檢查,對照字符的特定值或模式對必填字段進(jìn)行檢查,對照字符的特定值或模式進(jìn)行測試,驗(yàn)證某個(gè)值是否在限定范圍之內(nèi)等。進(jìn)行測試,驗(yàn)證某個(gè)值是否在限定范圍之內(nèi)等。5導(dǎo)航控件導(dǎo)航控件:這些控件被設(shè)計(jì)用于顯示站點(diǎn)地圖,:這些控件被設(shè)計(jì)用于顯示站點(diǎn)地圖,允許用戶從一個(gè)網(wǎng)頁導(dǎo)航到另一個(gè)網(wǎng)頁,如允許用戶從一個(gè)網(wǎng)頁導(dǎo)航到另一個(gè)網(wǎng)頁,如Menu控件、控件、SiteMapPath控件等??丶?。數(shù)據(jù)控件數(shù)據(jù)控件:用于顯示大量數(shù)據(jù)的控件,如:用于顯示大量數(shù)據(jù)的控件,如GridView、ListView控件等,這些控件支持很控件等,這些控件支持很多

4、高級的定制功能,比如模板、允許添加、刪除、多高級的定制功能,比如模板、允許添加、刪除、編輯等。數(shù)據(jù)控件還包括數(shù)據(jù)源控件,如編輯等。數(shù)據(jù)控件還包括數(shù)據(jù)源控件,如SqlDataSource、LinqDataSource控件等。使控件等。使開發(fā)人員能夠使用聲明的方式綁定到不同類型的開發(fā)人員能夠使用聲明的方式綁定到不同類型的數(shù)據(jù)源,簡化數(shù)據(jù)綁定的過程。數(shù)據(jù)源,簡化數(shù)據(jù)綁定的過程。6登錄控件登錄控件:簡化創(chuàng)建用戶登錄頁面的過程,使:簡化創(chuàng)建用戶登錄頁面的過程,使開發(fā)人員更容易編寫用戶授權(quán)和管理的程序。開發(fā)人員更容易編寫用戶授權(quán)和管理的程序。WebParts控件控件:WebParts是是ASP.NET中用

5、于中用于構(gòu)建組件化的、高度可配置的構(gòu)建組件化的、高度可配置的Web門戶的一套門戶的一套ASP.NET編程控件。編程控件。ASP.NET AJAX控件控件:允許開發(fā)人員在:允許開發(fā)人員在Web應(yīng)應(yīng)用程序中使用用程序中使用AJAX技術(shù),而不需要編寫大量技術(shù),而不需要編寫大量的客戶端代碼。的客戶端代碼。74.2 HTML服務(wù)器控件服務(wù)器控件vHTML服務(wù)器控件概述服務(wù)器控件概述 vHTML服務(wù)器控件綜合示例服務(wù)器控件綜合示例 84.2.1 HTML服務(wù)器控件概述服務(wù)器控件概述1HTML服務(wù)器控件的基本語法服務(wù)器控件的基本語法 v傳統(tǒng)的HTML元素是不能被ASP.NET服務(wù)器端直接使用的,但是通過將這

6、些HTML元素的功能進(jìn)行服務(wù)器端的封裝,開發(fā)人員就可以在服務(wù)器端使用這些HTML元素。v在Visual Studio 2010集成開發(fā)環(huán)境中,從工具箱的“HTML”選項(xiàng)中拖放一個(gè)Input(submit)按鈕控件到設(shè)計(jì)頁面上,切換到源視圖,Input(submit)的HTML源代碼標(biāo)記如下:v在標(biāo)記中直接添加runat=server,可以將HTML控件轉(zhuǎn)化為HTML服務(wù)器控件。設(shè)置為服務(wù)器控件后,源代碼標(biāo)記如下:vid用來設(shè)置控件的名稱,在一個(gè)程序中各控件的id均不相同,具有唯一性。id屬性允許以編程方式引用該控件。runat=server表示作為服務(wù)器控件運(yùn)行。92HTML控件的類型控件的類

7、型 vHTML控件位于控件位于System.Web.UI.HtmlControls命命名空間中,從名空間中,從HtmlControl基類中直接或間接派生基類中直接或間接派生出來的,包含二十多個(gè)出來的,包含二十多個(gè)HTML控件??丶?、輸入控件、輸入控件 2、文本區(qū)域控件、文本區(qū)域控件 3、表格控件、表格控件 4、Image控件控件 5、選擇控件、選擇控件 6、水平線控件、水平線控件 7、Div容器控件容器控件 103HTML服務(wù)器控件的公共屬性服務(wù)器控件的公共屬性 11124HTML服務(wù)器控件的事件服務(wù)器控件的事件 vHTML服務(wù)器控件不僅可以添加客戶端事件代碼,服務(wù)器控件不僅可以添加客戶端

8、事件代碼,而且可以添加服務(wù)器端事件代碼。而且可以添加服務(wù)器端事件代碼?!纠纠?-1】演示如何為】演示如何為HtmlInputSubmit控件的事件控件的事件添加方法。添加方法。 13HTML控件的常見客戶端事件控件的常見客戶端事件 144.2.2 HTML服務(wù)器控件綜合示例服務(wù)器控件綜合示例【例【例4-2】演示如何使用】演示如何使用HTML服務(wù)器端控件制作服務(wù)器端控件制作一個(gè)圖片瀏覽器。一個(gè)圖片瀏覽器。154.3 Web服務(wù)器控件服務(wù)器控件 vWeb服務(wù)器控件概述服務(wù)器控件概述 v常用常用Web服務(wù)器控件服務(wù)器控件 164.3.1 Web服務(wù)器控件概述服務(wù)器控件概述1Web服務(wù)器控件基本語法

9、服務(wù)器控件基本語法v從左邊工具箱中拖放一個(gè)從左邊工具箱中拖放一個(gè)Web服務(wù)器控件到頁面上,服務(wù)器控件到頁面上,其其HTML源代碼標(biāo)記如下:源代碼標(biāo)記如下:或者:或者:如如Button控件,基本語法為:控件,基本語法為:17將控件添加到將控件添加到Web窗體中,有窗體中,有3種方法。種方法。v方法方法1:從工具箱中添加控件。:從工具箱中添加控件。v方法方法2:在源視圖中,直接添加控件聲明代碼。:在源視圖中,直接添加控件聲明代碼。v方法方法3:以編程方式動(dòng)態(tài)創(chuàng)建:以編程方式動(dòng)態(tài)創(chuàng)建Web服務(wù)器控件。服務(wù)器控件。182Web服務(wù)器控件的公共屬性服務(wù)器控件的公共屬性19控件屬性的設(shè)置有兩種方法:控件屬

10、性的設(shè)置有兩種方法:v方法方法1:設(shè)計(jì)時(shí)通過屬性窗設(shè)置控件的屬性。:設(shè)計(jì)時(shí)通過屬性窗設(shè)置控件的屬性。v方法方法2:運(yùn)行時(shí)以編程方式設(shè)置控件的屬性。:運(yùn)行時(shí)以編程方式設(shè)置控件的屬性。203Web服務(wù)器控件的客戶端事件服務(wù)器控件的客戶端事件向向ASP.NET服務(wù)器控件添加客戶端事件的服務(wù)器控件添加客戶端事件的3種方法:種方法:v方法方法1:以聲明方式向:以聲明方式向ASP.NET服務(wù)器控件添加客服務(wù)器控件添加客戶端事件處理程序戶端事件處理程序在源視圖中,為控件直接添加事件屬性。例如,在源視圖中,為控件直接添加事件屬性。例如,onmouseover 或或onkeyup。針對不同屬性添加。針對不同屬性

11、添加要執(zhí)行的客戶端腳本。要執(zhí)行的客戶端腳本?!纠纠?-3】演示一個(gè)包含客戶端腳本的】演示一個(gè)包含客戶端腳本的ASP.NET網(wǎng)頁,當(dāng)用戶將鼠標(biāo)移到按鈕上方時(shí),此腳本就網(wǎng)頁,當(dāng)用戶將鼠標(biāo)移到按鈕上方時(shí),此腳本就會更改該按鈕的文本顏色。會更改該按鈕的文本顏色。21v方法方法2:以編程方式向:以編程方式向ASP.NET控件添加客戶端控件添加客戶端事件處理程序。事件處理程序。在頁面的在頁面的Init或或Load事件中調(diào)用控件的事件中調(diào)用控件的Attributes集合的集合的Add方法來動(dòng)態(tài)添加客戶端方法來動(dòng)態(tài)添加客戶端事件處理程序。事件處理程序?!纠纠?-4】演示如何動(dòng)態(tài)地向】演示如何動(dòng)態(tài)地向Tex

12、tBox控件添加控件添加客戶端腳本。該客戶端腳本顯示客戶端腳本。該客戶端腳本顯示TextBox控件控件中的文本長度。中的文本長度。22v方法方法3:向按鈕控件添加客戶端:向按鈕控件添加客戶端Onclick事件。事件。在按鈕控件(在按鈕控件(Button、LinkButton 和和 ImageButton 控件)中,要添加客戶端控件)中,要添加客戶端Onclick事件,可以在設(shè)計(jì)視圖中將按鈕控件的事件,可以在設(shè)計(jì)視圖中將按鈕控件的OnClientClick屬性設(shè)置為要執(zhí)行的客戶端腳本,屬性設(shè)置為要執(zhí)行的客戶端腳本,也可以在源視圖中直接添加也可以在源視圖中直接添加OnClientClick屬性。屬

13、性。【例【例4-5】演示如何向】演示如何向Button控件添加客戶端控件添加客戶端Click事件。事件。234Web服務(wù)器控件的服務(wù)器端事件服務(wù)器控件的服務(wù)器端事件24添加服務(wù)器端事件的添加服務(wù)器端事件的2種方法。種方法。v方法方法1:設(shè)計(jì)時(shí)在屬性窗中添加事件處理。:設(shè)計(jì)時(shí)在屬性窗中添加事件處理。25v方法方法2:運(yùn)行時(shí)以編程方式動(dòng)態(tài)添加事件處理。:運(yùn)行時(shí)以編程方式動(dòng)態(tài)添加事件處理。例如:例如:protected void Button1_Click(object sender, EventArgs e)然后,將該方法和控件的單擊事件關(guān)聯(lián),代碼如下:然后,將該方法和控件的單擊事件關(guān)聯(lián),代碼如下

14、:Button1.Click += new EventHandler(Button1_Click);264.3.2 常用常用Web服務(wù)器控件服務(wù)器控件1.Label控件:用于在網(wǎng)頁上顯示文本??丶河糜谠诰W(wǎng)頁上顯示文本。v聲明聲明Label的語法格式:的語法格式:vLabel控件只能用來顯示文本,它只有控件只能用來顯示文本,它只有Text屬性,屬性,用來獲取或設(shè)置指定在用來獲取或設(shè)置指定在Label控件上顯示的文字??丶巷@示的文字。272.TextBox控件控件vTextBox控件可用于制作單行、多行文本框和密碼控件可用于制作單行、多行文本框和密碼框???。v聲明聲明TextBox控件的語法格

15、式:控件的語法格式: 28TextBox控件本身特有的屬性:控件本身特有的屬性:vAutoPostBack屬性:屬性:獲取或設(shè)置當(dāng)獲取或設(shè)置當(dāng)TextBox控件控件上的內(nèi)容發(fā)生改變時(shí),是否自動(dòng)將窗體數(shù)據(jù)回傳到上的內(nèi)容發(fā)生改變時(shí),是否自動(dòng)將窗體數(shù)據(jù)回傳到服務(wù)器,默認(rèn)為服務(wù)器,默認(rèn)為False,不回傳;為,不回傳;為True時(shí),則要時(shí),則要回傳。該屬性要與回傳。該屬性要與TextChanged事件配合使用。事件配合使用。vMaxLenth屬性:屬性:獲取或設(shè)置文本框中最多允許的獲取或設(shè)置文本框中最多允許的字符數(shù)。當(dāng)字符數(shù)。當(dāng)TextMode屬性設(shè)為屬性設(shè)為MultiLine時(shí),此屬時(shí),此屬性不可用

16、。性不可用。29vReadOnly屬性:屬性:獲取或設(shè)置獲取或設(shè)置TextBox控件是否為控件是否為只讀。當(dāng)該屬性設(shè)置為只讀。當(dāng)該屬性設(shè)置為True時(shí),將禁止用戶輸入時(shí),將禁止用戶輸入或更改現(xiàn)有值。默認(rèn)值為或更改現(xiàn)有值。默認(rèn)值為False。vText屬性:屬性:獲取或設(shè)置文本框的文本內(nèi)容。獲取或設(shè)置文本框的文本內(nèi)容。vTextMode屬性:屬性:獲取或設(shè)置文本框的類型。獲取或設(shè)置文本框的類型。TextBox有有3種取值:種取值:MultiLine為多行輸入模式;為多行輸入模式;Password為密碼輸入模式;為密碼輸入模式;SingleLine為單行為單行輸入模式。默認(rèn)值為輸入模式。默認(rèn)值為S

17、ingleLine。30vTextBox主要的服務(wù)器端事件是主要的服務(wù)器端事件是TextChanged事件。事件。當(dāng)當(dāng)Text屬性的值改變時(shí),會觸發(fā)此事件。屬性的值改變時(shí),會觸發(fā)此事件。當(dāng)當(dāng)AutoPostBack屬性設(shè)置為屬性設(shè)置為True時(shí),用戶更改文本框的時(shí),用戶更改文本框的內(nèi)容并將焦點(diǎn)移開文本框時(shí),將自動(dòng)回傳頁面并觸發(fā)內(nèi)容并將焦點(diǎn)移開文本框時(shí),將自動(dòng)回傳頁面并觸發(fā)TextChanged事件。事件。當(dāng)當(dāng)AutoPostBack屬性設(shè)置為屬性設(shè)置為False時(shí),即便用戶更改文時(shí),即便用戶更改文本框的內(nèi)容并將焦點(diǎn)移開文本框,也不會自動(dòng)回傳頁面,本框的內(nèi)容并將焦點(diǎn)移開文本框,也不會自動(dòng)回傳頁面

18、,需等到回傳頁面的事件發(fā)生時(shí)(如按鈕控件的需等到回傳頁面的事件發(fā)生時(shí)(如按鈕控件的Click事事件),才會觸發(fā)件),才會觸發(fā)TextChanged事件。事件。 【例例4-6】演示如何將演示如何將TextBox控件的控件的AutoPostBack屬性與屬性與TextChanged事件配合使用。事件配合使用。31v超鏈接(超鏈接(HyperLink)控件用于創(chuàng)建文本或圖)控件用于創(chuàng)建文本或圖片超鏈接。聲明片超鏈接。聲明HyperLink控件的語法格式:控件的語法格式: HyperLink控件的主要屬性如下:控件的主要屬性如下:ImageURL屬性:屬性:獲取或設(shè)置獲取或設(shè)置HyperLink控件的

19、圖片來源。控件的圖片來源。NavigateURL屬性:屬性:獲取或設(shè)置獲取或設(shè)置HyperLink控件所要鏈接到的控件所要鏈接到的URL。Target屬性:屬性:獲取或設(shè)置單擊獲取或設(shè)置單擊HyperLink控件時(shí)顯示鏈接到的網(wǎng)頁控件時(shí)顯示鏈接到的網(wǎng)頁內(nèi)容的目標(biāo)窗口或框架。內(nèi)容的目標(biāo)窗口或框架。 Text屬性:屬性:獲取或設(shè)置獲取或設(shè)置HyperLink控件的超鏈接文本。控件的超鏈接文本。 【例例4-7】演示如何設(shè)置演示如何設(shè)置Target屬性來指定窗口或框架,用以屬性來指定窗口或框架,用以顯示與顯示與HyperLink控件關(guān)聯(lián)的頁??丶P(guān)聯(lián)的頁。3. HyperLink控件控件324. Im

20、age控件控件vImage控件只是簡單地完成一個(gè)圖像顯示任務(wù),控件只是簡單地完成一個(gè)圖像顯示任務(wù),與與HTML的的Image功能相同。功能相同。v聲明聲明Image控件的語法格式為:控件的語法格式為:該控件的屬性:該控件的屬性:AlternateText屬性:屬性:設(shè)置圖像無法顯示時(shí)顯示設(shè)置圖像無法顯示時(shí)顯示的替換文字。的替換文字。ImageUrl屬性:屬性:設(shè)置圖像所在的位置。設(shè)置圖像所在的位置。ToolTip屬性:屬性:將鼠標(biāo)放置在圖片控件上時(shí),顯將鼠標(biāo)放置在圖片控件上時(shí),顯示的工具提示。示的工具提示。注意:注意:Image控件不響應(yīng)用戶事件,但是它可以根據(jù)控件不響應(yīng)用戶事件,但是它可以根

21、據(jù)其它控件的輸入動(dòng)態(tài)地顯示圖片。其它控件的輸入動(dòng)態(tài)地顯示圖片。335. Button、LinkButton和和ImageButton控件控件 vASP.NET包含包含3類用于向服務(wù)器端提交表單的控件:類用于向服務(wù)器端提交表單的控件:Button、LinkButton和和ImageButton。這。這3類控件類控件擁有同樣的功能,但每類控件的外觀截然不同。擁有同樣的功能,但每類控件的外觀截然不同。特殊屬性:特殊屬性:CommandArgument:用于指定傳給用于指定傳給Command事件的命令參數(shù)。事件的命令參數(shù)。CommandName:指定傳給指定傳給Command事件的命令名。事件的命令名

22、。OnClientClick:指定點(diǎn)擊按鈕時(shí)執(zhí)行的客戶端腳本。指定點(diǎn)擊按鈕時(shí)執(zhí)行的客戶端腳本。PostBackUrl:單擊按鈕時(shí)所發(fā)送到的單擊按鈕時(shí)所發(fā)送到的URL。Text:將在按鈕上呈現(xiàn)的文本。將在按鈕上呈現(xiàn)的文本。UseSubmitBehavior:指示按鈕是否呈現(xiàn)為提交按鈕。指示按鈕是否呈現(xiàn)為提交按鈕。34vButton控件支持控件支持Focus()方法,用于把焦點(diǎn)設(shè)為該方法,用于把焦點(diǎn)設(shè)為該Button控件。控件。Button控件還支持下面兩個(gè)事件:控件還支持下面兩個(gè)事件:Click:點(diǎn)擊點(diǎn)擊Button控件時(shí)引發(fā)。控件時(shí)引發(fā)。Command:點(diǎn)擊點(diǎn)擊Button控件時(shí)引發(fā)。控件時(shí)引

23、發(fā)。CommandName和和CommandArgument的值的值傳給這個(gè)事件。傳給這個(gè)事件。35聲明聲明Button控件的語法格式:控件的語法格式:【例【例4-8】在頁面上包含一個(gè)】在頁面上包含一個(gè)Button控件,點(diǎn)擊該控件,點(diǎn)擊該Button控件,將在控件,將在Label控件中顯示系統(tǒng)日期。控件中顯示系統(tǒng)日期。36v聲明聲明LinkButton控件的語法格式為:控件的語法格式為:按按鈕上的文字鈕上的文字 【例【例4-9】在頁面上包含一個(gè)】在頁面上包含一個(gè)LinkButton控件,點(diǎn)擊該控件,點(diǎn)擊該LinkButton控件,將在控件,將在Label控件中顯示系統(tǒng)日期。控件中顯示系統(tǒng)日期。

24、37vImageButton控件是以圖片的形式提供的按鈕控件,控件是以圖片的形式提供的按鈕控件,功能與功能與Button相同,外觀與相同,外觀與Image控件相同??丶嗤?。v聲明聲明ImageButton控件的語法格式為:控件的語法格式為: 【例【例4-10】在頁面中包含一個(gè)】在頁面中包含一個(gè)ImageButton和一個(gè)和一個(gè)Label控件,點(diǎn)擊該控件,點(diǎn)擊該ImageButton上的圖片,將在上的圖片,將在Label控件中顯示點(diǎn)擊的位置。控件中顯示點(diǎn)擊的位置。38【例【例4-11】演示如何用一個(gè)事件方法統(tǒng)一處理多個(gè)按】演示如何用一個(gè)事件方法統(tǒng)一處理多個(gè)按鈕的提交事件。鈕的提交事件。39vD

25、ropDownList控件允許用戶從預(yù)定義的下拉列表中控件允許用戶從預(yù)定義的下拉列表中選擇一項(xiàng)。選擇一項(xiàng)。v聲明聲明DropDownList控件的語法格式為:控件的語法格式為:Text6. DropDownList和和ListBox控件控件40DropDownList控件的主要屬性如下:控件的主要屬性如下:AutoPostBack屬性:屬性:獲取或設(shè)置當(dāng)改變獲取或設(shè)置當(dāng)改變DropDownList控件的選擇狀態(tài)時(shí),是否自動(dòng)上控件的選擇狀態(tài)時(shí),是否自動(dòng)上傳窗體數(shù)據(jù)到服務(wù)器。默認(rèn)為傳窗體數(shù)據(jù)到服務(wù)器。默認(rèn)為False。Items屬性:屬性:包含該控件所有選項(xiàng)的集合。每個(gè)包含該控件所有選項(xiàng)的集合。每

26、個(gè)列表項(xiàng)都是一個(gè)單獨(dú)的對象,具有自己的屬性。列表項(xiàng)都是一個(gè)單獨(dú)的對象,具有自己的屬性。SelectedIndex屬性:屬性:獲取當(dāng)前選擇項(xiàng)的下標(biāo)獲取當(dāng)前選擇項(xiàng)的下標(biāo)(下標(biāo)從(下標(biāo)從0開始)。開始)。SelectedItem屬性:屬性:獲取當(dāng)前選擇項(xiàng)對象。獲取當(dāng)前選擇項(xiàng)對象。41vDropDownList控件有控件有SelectedIndexChanged事事件,當(dāng)用戶選擇一項(xiàng)時(shí),件,當(dāng)用戶選擇一項(xiàng)時(shí),DropDownList控件將引控件將引發(fā)發(fā)SelectedIndexChanged事件。事件。v默認(rèn)情況下,此事件不會導(dǎo)致向服務(wù)器發(fā)送頁面,默認(rèn)情況下,此事件不會導(dǎo)致向服務(wù)器發(fā)送頁面,但當(dāng)該控件

27、的但當(dāng)該控件的AutoPostBack屬性設(shè)置為屬性設(shè)置為True時(shí),時(shí),該事件會立即回發(fā)頁面。該事件會立即回發(fā)頁面。【例【例4-12】演示】演示DropDownList控件的使用??丶氖褂谩?2vListBox控件與控件與DropDownList控件的功能基本相控件的功能基本相似,似,ListBox控件將所有選項(xiàng)都顯示出來,提供單控件將所有選項(xiàng)都顯示出來,提供單選或多選的列表框。選或多選的列表框。vListBox控件比控件比DropDownList控件多兩個(gè)屬性:控件多兩個(gè)屬性:Rows屬性:獲取或設(shè)置屬性:獲取或設(shè)置ListBox控件顯示的選項(xiàng)控件顯示的選項(xiàng)行數(shù),默認(rèn)值為行數(shù),默認(rèn)值為4

28、。SelectionMode屬性:獲取或設(shè)置屬性:獲取或設(shè)置ListBox控件控件的選項(xiàng)模式,的選項(xiàng)模式,Single為單選,為單選,Multiple為多選,為多選,默認(rèn)為默認(rèn)為Single。當(dāng)允許多選時(shí),只需按住。當(dāng)允許多選時(shí),只需按住Ctrl鍵鍵或或Shift鍵并單擊要選取的選項(xiàng),便可完成多選。鍵并單擊要選取的選項(xiàng),便可完成多選?!纠纠?-13】演示】演示ListBox控件的使用。控件的使用。43vCheckBox控件用于創(chuàng)建單個(gè)復(fù)選框,供用戶選擇。控件用于創(chuàng)建單個(gè)復(fù)選框,供用戶選擇。v聲明聲明CheckBox控件的語法格式:控件的語法格式:vCheckBox控件的常用屬性:控件的常用屬

29、性:Checked屬性:屬性:獲取或設(shè)置該項(xiàng)是否選中。獲取或設(shè)置該項(xiàng)是否選中。TextAlign屬性:屬性:控件文字的位置??丶淖值奈恢谩ext屬性:屬性:獲取或設(shè)置獲取或設(shè)置CheckBox控件的文本內(nèi)容。控件的文本內(nèi)容。Value屬性:屬性:獲取或設(shè)置獲取或設(shè)置CheckBox控件的值內(nèi)容??丶闹祪?nèi)容。7. CheckBox和和CheckBoxList控件控件44AutoPostBack屬性:獲取或設(shè)置當(dāng)改變屬性:獲取或設(shè)置當(dāng)改變CheckBox控件的選擇狀態(tài)時(shí),是否自動(dòng)回傳窗體數(shù)據(jù)到服務(wù)器??丶倪x擇狀態(tài)時(shí),是否自動(dòng)回傳窗體數(shù)據(jù)到服務(wù)器。值為值為True時(shí),表示單擊時(shí),表示單擊Ch

30、eckBox控件,頁面自動(dòng)回控件,頁面自動(dòng)回發(fā);值為發(fā);值為False時(shí),不回發(fā)。默認(rèn)值為時(shí),不回發(fā)。默認(rèn)值為False。vCheckBox控件具有控件具有CheckedChanged事件。當(dāng)事件。當(dāng)Checked屬性的值改變時(shí),會觸發(fā)此事件。與屬性的值改變時(shí),會觸發(fā)此事件。與TextBox控件類似,該事件要與控件類似,該事件要與AutoPostBack屬屬性配合使用。性配合使用?!纠纠?-14】演示】演示CheckBox控件的使用??丶氖褂?。45v聲明聲明CheckBoxList控件的語法格式:控件的語法格式: text v該控件的屬性、用法及功能與該控件的屬性、用法及功能與ListBo

31、x控件基本相同。控件基本相同。除此之外,還有自己的特殊屬性。除此之外,還有自己的特殊屬性。RepeatDirection:表示是橫向還是縱向排列。表示是橫向還是縱向排列。RepeatColumns:一行排幾列。一行排幾列。TextAlign屬性:屬性:控件文字的位置??丶淖值奈恢谩elected屬性:屬性:表示該選項(xiàng)是否選中。表示該選項(xiàng)是否選中?!纠纠?-15】使用】使用CheckBoxList控件完成【例控件完成【例4-14】的】的功能。功能。46vRadioButton控件用于創(chuàng)建單個(gè)單選框,供用戶選擇??丶糜趧?chuàng)建單個(gè)單選框,供用戶選擇。v聲明聲明RadioButton控件的語法格

32、式:控件的語法格式:vRadioButton控件的常用屬性和事件與控件的常用屬性和事件與CheckBox控控件基本相同。件基本相同。vRadioButton控件還有一個(gè)特殊的屬性控件還有一個(gè)特殊的屬性GroupName,用于設(shè)置單選按鈕所屬的組名,通過將多個(gè)單選按鈕用于設(shè)置單選按鈕所屬的組名,通過將多個(gè)單選按鈕的組名設(shè)為相同值,將其分為一組相互排斥的選項(xiàng)。的組名設(shè)為相同值,將其分為一組相互排斥的選項(xiàng)?!纠纠?-16】演示】演示RadioButton控件的使用??丶氖褂谩?.RadioButton和和RadioButtonList控件控件47v與與CheckBoxList控件類似,控件類似,

33、RadioButtonList控件是控件是一個(gè)一個(gè)RadioButton控件組,當(dāng)存在多個(gè)單選框時(shí),用控件組,當(dāng)存在多個(gè)單選框時(shí),用該控件比該控件比RadioButton簡單。簡單。v聲明聲明RadioButtonList控件的語法格式:控件的語法格式: Text vRadioButtonList控件和控件和CheckBoxList控件的屬性和控件的屬性和事件相同。事件相同?!纠纠?-17】使用】使用RadioButtonList控件完成【例控件完成【例4-16】的功能。的功能。48vPanel控件是一個(gè)放置其它控件的容器,可以在其內(nèi)控件是一個(gè)放置其它控件的容器,可以在其內(nèi)放置不同控件。利用

34、它的這個(gè)特性,可以將不同的控放置不同控件。利用它的這個(gè)特性,可以將不同的控件組成一個(gè)群組,并控制它的顯示或隱藏。件組成一個(gè)群組,并控制它的顯示或隱藏。v聲明聲明Panel控件的語法格式:控件的語法格式: vPanel控件的主要屬性:控件的主要屬性:BackImageUrl屬性:屬性:設(shè)置設(shè)置Panel背景圖形。背景圖形。HorizontalAlign屬性:屬性:設(shè)置水平對齊方式。設(shè)置水平對齊方式。Visible屬性:屬性:是否顯示還是隱藏。是否顯示還是隱藏。ScrollBars屬性:屬性:是否設(shè)置水平或垂直滾動(dòng)條。例如,將該是否設(shè)置水平或垂直滾動(dòng)條。例如,將該屬性設(shè)置為屬性設(shè)置為Auto時(shí),當(dāng)

35、控件長度和寬度超過時(shí),當(dāng)控件長度和寬度超過Panel控件的長或控件的長或?qū)挄r(shí),將自動(dòng)顯示出滾動(dòng)條。寬時(shí),將自動(dòng)顯示出滾動(dòng)條。9.Panel控件控件49vMultiView和和View控件可以制作選項(xiàng)卡的效果,控件可以制作選項(xiàng)卡的效果,MultiView控件用作一個(gè)或多個(gè)控件用作一個(gè)或多個(gè)View控件的外部控件的外部容器。容器。View控件又可包含標(biāo)記和控件的任何組合。控件又可包含標(biāo)記和控件的任何組合。切換到源視圖,控件聲明代碼如下:切換到源視圖,控件聲明代碼如下: 10.MultiView和和View控件控件50vMultiView控件的常用屬性、方法和事件:控件的常用屬性、方法和事件:Act

36、iveViewIndex屬性:屬性:用于獲取或設(shè)置當(dāng)前被激活用于獲取或設(shè)置當(dāng)前被激活顯示的顯示的View控件的索引值。默認(rèn)值為控件的索引值。默認(rèn)值為-1,表示沒有,表示沒有View控件被激活??丶患せ睢etActiveView方法:方法:用于激活顯示特定的用于激活顯示特定的View控控件。件。ActiveViewChanged事件:事件:當(dāng)視圖切換時(shí)被激發(fā)。當(dāng)視圖切換時(shí)被激發(fā)。v在在MultiView控件中,一次只能將一個(gè)控件中,一次只能將一個(gè)View控件定義為活動(dòng)視控件定義為活動(dòng)視圖。如果某個(gè)圖。如果某個(gè)View控件定義為活動(dòng)視圖,它所包含的子控件控件定義為活動(dòng)視圖,它所包含的子控件則會

37、呈現(xiàn)到客戶端??梢允褂脛t會呈現(xiàn)到客戶端??梢允褂肕ultiView控件的控件的ActiveViewIndex屬性或?qū)傩曰騍etActiveView方法定義活動(dòng)視圖。如果方法定義活動(dòng)視圖。如果ActiveViewIndex為為-1,則,則MultiView控件不向客戶端呈現(xiàn)任何內(nèi)容??丶幌蚩蛻舳顺尸F(xiàn)任何內(nèi)容。51【例【例4-18】演示】演示View和和MultiView控件的使用??丶氖褂谩⒁娛纠齾⒁娛纠诘?4章章WebControlDemoMultiViewDemo.aspx 52vCalendar控件用于創(chuàng)建日歷。在該控件上用戶可控件用于創(chuàng)建日歷。在該控件上用戶可以方便準(zhǔn)確地輸入日期

38、。以方便準(zhǔn)確地輸入日期。v聲明聲明Calendar控件的語法格式:控件的語法格式: 與日期選取及設(shè)置的有關(guān)屬性:與日期選取及設(shè)置的有關(guān)屬性:SelectionMode屬性:屬性:設(shè)置日期選擇模式,可設(shè)為設(shè)置日期選擇模式,可設(shè)為Day(只能選擇某一天只能選擇某一天)、None(不能選擇日期,只能顯示日期)、不能選擇日期,只能顯示日期)、DayWeek(可以選擇整星期或某天可以選擇整星期或某天)、DayWeekMonth(可以選擇某月、某星期或某天可以選擇某月、某星期或某天)SelectedDate屬性:屬性:用戶選中的日期。用戶選中的日期。SelectedDates屬性:屬性:用戶選擇的多個(gè)日期

39、,是一個(gè)數(shù)組。用戶選擇的多個(gè)日期,是一個(gè)數(shù)組。Calendar控件具有控件具有SelectionChanged事件,當(dāng)用戶選擇日期時(shí),會驅(qū)動(dòng)該事件事件,當(dāng)用戶選擇日期時(shí),會驅(qū)動(dòng)該事件【例例4-19】演示演示Calendar控件的使用??丶氖褂?。參見示例參見示例第第04章章WebControlDemoCalendarDemo.aspx 11.Calendar控件控件534.4驗(yàn)證控件驗(yàn)證控件v驗(yàn)證控件概述驗(yàn)證控件概述 v驗(yàn)證控件的使用驗(yàn)證控件的使用 v驗(yàn)證組的使用驗(yàn)證組的使用 v禁用驗(yàn)證禁用驗(yàn)證 v以編程方式測試驗(yàn)證有效性以編程方式測試驗(yàn)證有效性 544.4.1 驗(yàn)證控件概述驗(yàn)證控件概述v為什

40、么要驗(yàn)證用戶輸入為什么要驗(yàn)證用戶輸入v驗(yàn)證過程驗(yàn)證過程55為什么要驗(yàn)證用戶輸入為什么要驗(yàn)證用戶輸入v輸入驗(yàn)證是檢驗(yàn)輸入驗(yàn)證是檢驗(yàn)Web窗體中用戶的輸入是否和期窗體中用戶的輸入是否和期望的數(shù)據(jù)值、范圍或格式相匹配的過程,可以減少望的數(shù)據(jù)值、范圍或格式相匹配的過程,可以減少等待錯(cuò)誤信息的時(shí)間降低發(fā)生錯(cuò)誤的可能性,從而等待錯(cuò)誤信息的時(shí)間降低發(fā)生錯(cuò)誤的可能性,從而改善用戶訪問改善用戶訪問Web站點(diǎn)的體驗(yàn)站點(diǎn)的體驗(yàn) v用戶輸入驗(yàn)證的目的用戶輸入驗(yàn)證的目的減少錯(cuò)誤處理的等待時(shí)間減少錯(cuò)誤處理的等待時(shí)間避免非法的用戶輸入導(dǎo)致的錯(cuò)誤結(jié)果避免非法的用戶輸入導(dǎo)致的錯(cuò)誤結(jié)果避免非法的用戶輸入導(dǎo)致服務(wù)器崩潰避免非法的用

41、戶輸入導(dǎo)致服務(wù)器崩潰避免欺騙或惡意代碼避免欺騙或惡意代碼阻止阻止 Web 窗體進(jìn)行下一步處理,直到所有的用窗體進(jìn)行下一步處理,直到所有的用戶輸入都通過驗(yàn)證戶輸入都通過驗(yàn)證56驗(yàn)證過程驗(yàn)證過程 57客戶端驗(yàn)證和服務(wù)器端驗(yàn)證的區(qū)別客戶端驗(yàn)證和服務(wù)器端驗(yàn)證的區(qū)別58ASP.NET驗(yàn)證控件 5960驗(yàn)證控件的共有屬性驗(yàn)證控件的共有屬性 61vDisplay屬性屬性:流布局模式下,設(shè)置多個(gè)驗(yàn)證:流布局模式下,設(shè)置多個(gè)驗(yàn)證控件的錯(cuò)誤信息的空間排列方式??丶腻e(cuò)誤信息的空間排列方式。NoneStaticDynamic在驗(yàn)證控件的位置上不顯示錯(cuò)誤信息在驗(yàn)證控件的位置上不顯示錯(cuò)誤信息在頁面布局中分配用于顯示驗(yàn)證

42、消息的空間在頁面布局中分配用于顯示驗(yàn)證消息的空間如果驗(yàn)證成功,將不占據(jù)頁面空間如果驗(yàn)證成功,將不占據(jù)頁面空間62均驗(yàn)證失敗第一個(gè)驗(yàn)證控件通過驗(yàn)證成功均驗(yàn)證失敗第一個(gè)驗(yàn)證控件通過驗(yàn)證成功Static顯示顯示nDynamic顯示顯示63vErrorMessage 屬性指定驗(yàn)證失敗后在驗(yàn)證控件中顯示的文本指定驗(yàn)證失敗后在驗(yàn)證控件中顯示的文本如果設(shè)置了如果設(shè)置了 Text 屬性,不顯示屬性,不顯示 ErrorMessagevText 屬性指定將在驗(yàn)證控件中顯示的文本指定將在驗(yàn)證控件中顯示的文本已設(shè)置已設(shè)置已設(shè)置已設(shè)置未設(shè)置未設(shè)置未設(shè)置未設(shè)置已設(shè)置已設(shè)置已設(shè)置已設(shè)置 顯示顯示 ErrorMessage

43、文本文本 顯示顯示 Text 文本文本 顯示顯示 Text 文本文本644.4.2驗(yàn)證控件的使用驗(yàn)證控件的使用1、RequiredFieldValidator控件控件u在頁中添加在頁中添加 RequiredFieldValidator 控件并將控件并將其鏈接到必需的控件,可以指定用戶在其鏈接到必需的控件,可以指定用戶在ASP.NET 網(wǎng)頁上的特定控件中必須輸入信息網(wǎng)頁上的特定控件中必須輸入信息 【例例4-20】演示如何驗(yàn)證用戶在文本框中已輸入數(shù)據(jù)。演示如何驗(yàn)證用戶在文本框中已輸入數(shù)據(jù)。參見示例參見示例第第04章章WebValidatorRequiredFieldValidator.aspx 6

44、5InitialValue屬性屬性:當(dāng)設(shè)置該值時(shí),表示控件中輸入:當(dāng)設(shè)置該值時(shí),表示控件中輸入該值時(shí)無效,其他任何情況均有效。該值時(shí)無效,其他任何情況均有效?!纠?-21】演示如何使用演示如何使用RequiredFieldValidator控件來控件來驗(yàn)證驗(yàn)證DropDownList控件的輸入??丶妮斎搿⒁娛纠齾⒁娛纠诘?4章章WebValidatorShowInitialValue.aspx 662、CompareValidator控件控件測試用戶的輸入是否符合指定的值或者符合另測試用戶的輸入是否符合指定的值或者符合另一個(gè)輸入控件的值。一個(gè)輸入控件的值。空輸入作為有效驗(yàn)證。空輸入作為

45、有效驗(yàn)證。ControlToCompare:確定要比較的另一個(gè)控件。確定要比較的另一個(gè)控件。Operator:指定使用的比較運(yùn)算符。指定使用的比較運(yùn)算符。Type:指定數(shù)據(jù)類型,希望輸入控件中的值與某個(gè)指定數(shù)據(jù)類型,希望輸入控件中的值與某個(gè)數(shù)據(jù)類型匹配。數(shù)據(jù)類型匹配。ValueToCompare:確定要比較的某個(gè)常數(shù)值確定要比較的某個(gè)常數(shù)值67【例例4-23】使用使用CompareValidator控件對數(shù)據(jù)進(jìn)行類型控件對數(shù)據(jù)進(jìn)行類型檢查。要求用戶輸入合法的日期,否則驗(yàn)證失敗。檢查。要求用戶輸入合法的日期,否則驗(yàn)證失敗。 參見示例參見示例第第04章章WebValidatorCompareVal

46、idator.aspx 【例例4-22】在設(shè)計(jì)用戶注冊頁面時(shí),希望用戶輸入兩在設(shè)計(jì)用戶注冊頁面時(shí),希望用戶輸入兩次密碼,使用次密碼,使用CompareValidator驗(yàn)證控件來判斷兩次驗(yàn)證控件來判斷兩次輸入的密碼是否相等。輸入的密碼是否相等。 683、RangeValidator控件:控件:驗(yàn)證輸入值是否在給定的范圍內(nèi)。驗(yàn)證輸入值是否在給定的范圍內(nèi)。輸入值介于最小值和最大值之間是有效的。輸入值介于最小值和最大值之間是有效的。空輸入作為有效驗(yàn)證??蛰斎胱鳛橛行?yàn)證。 MinimumValue:指定有效范圍的最小值。指定有效范圍的最小值。 MaxmumValue:指定有效范圍的最大值。指定有效范

47、圍的最大值。Type:指定要比較的值的數(shù)據(jù)類型。指定要比較的值的數(shù)據(jù)類型。【例例4-24】演示如何通過演示如何通過RangeValidator控件驗(yàn)證文本框中控件驗(yàn)證文本框中的年齡輸入在的年齡輸入在0200之間。之間。參見示例參見示例第第04章章WebValidatorRangeValidator.aspx 694RegularExpressionValidator控件控件v在需要確定該值是否與某個(gè)正則表達(dá)式所定義在需要確定該值是否與某個(gè)正則表達(dá)式所定義的模式相匹配的情況下使用的模式相匹配的情況下使用vValidationExpression屬性屬性:編輯正則表達(dá)式:編輯正則表達(dá)式vVisua

48、l Studio.NET 提供以下預(yù)定義模式提供以下預(yù)定義模式電話號碼電話號碼郵政編碼郵政編碼E-mail 地址地址注意:提供的這些預(yù)定義的模式的正則表達(dá)式未必正確。注意:提供的這些預(yù)定義的模式的正則表達(dá)式未必正確。70正則表達(dá)式字符含意正則表達(dá)式字符含意71例如:例如:S3,63到到6位字符位字符A-Za-z2,5由由2-5個(gè)字母組成個(gè)字母組成A-Zd5以一個(gè)大寫字母開頭,加以一個(gè)大寫字母開頭,加5位數(shù)字位數(shù)字d55位的整數(shù)位的整數(shù).*#&.*至少包含至少包含#&中的一個(gè)字符中的一個(gè)字符(d11)|(d3,4-)?d7,8) 中國電話號碼(手機(jī)或固中國電話號碼(手機(jī)或固定電話)定電話) 72

49、【例例4-25】演示如何使用預(yù)定義表達(dá)式來驗(yàn)證演示如何使用預(yù)定義表達(dá)式來驗(yàn)證輸入的電子郵件地址。輸入的電子郵件地址。參見示例參見示例第第04章章WebValidatorRegularExpressionValidator.aspx 【例例4-26】演示如何使用自定義表達(dá)式驗(yàn)證輸入。演示如何使用自定義表達(dá)式驗(yàn)證輸入。如果要求用戶輸入一個(gè)以大寫字母開頭,再加如果要求用戶輸入一個(gè)以大寫字母開頭,再加5位阿拉伯位阿拉伯?dāng)?shù)字的格式化數(shù)據(jù)。很顯然,預(yù)定義表達(dá)式里沒有這樣數(shù)字的格式化數(shù)據(jù)。很顯然,預(yù)定義表達(dá)式里沒有這樣的格式定義只能通過正則表達(dá)式進(jìn)行自定義。按照上面的格式定義只能通過正則表達(dá)式進(jìn)行自定義。按

50、照上面的格式要求,該正則表達(dá)式應(yīng)該為的格式要求,該正則表達(dá)式應(yīng)該為“A-Zd5”。735. CustomValidator 控件v必須手動(dòng)編寫客戶端和服務(wù)器端驗(yàn)證代碼必須手動(dòng)編寫客戶端和服務(wù)器端驗(yàn)證代碼vClientValidationFunction 屬性屬性用于驗(yàn)證的自定義客戶端腳本函數(shù)的名稱用于驗(yàn)證的自定義客戶端腳本函數(shù)的名稱vServerValidate 事件事件服務(wù)器端驗(yàn)證事件的名稱服務(wù)器端驗(yàn)證事件的名稱v在驗(yàn)證函數(shù)中通過屬性在驗(yàn)證函數(shù)中通過屬性Args.IsValid來設(shè)置來設(shè)置CustomValidator控件是否有效??丶欠裼行А?4【例例4-27】下面將編寫一個(gè)下面將編寫一

51、個(gè)CustomValidator控件控件的驗(yàn)證函數(shù)用來確定的驗(yàn)證函數(shù)用來確定TextBox控件中用戶輸入是控件中用戶輸入是否超過否超過8個(gè)字符。個(gè)字符。參見示例參見示例第第04章章WebValidatorCompareValidator.aspx vCustomValidator 靈活性高,可以靈活性高,可以與給定的公式比較與給定的公式比較 與存儲在服務(wù)器中的數(shù)據(jù)比較,如存儲在數(shù)據(jù)與存儲在服務(wù)器中的數(shù)據(jù)比較,如存儲在數(shù)據(jù)庫中的密碼庫中的密碼通過調(diào)用通過調(diào)用 COM 對象比較對象比較通過調(diào)用通過調(diào)用 Web 服務(wù)比較服務(wù)比較75組合使用驗(yàn)證控件組合使用驗(yàn)證控件v多個(gè)驗(yàn)證控件應(yīng)用于同一輸入控件多個(gè)

52、驗(yàn)證控件應(yīng)用于同一輸入控件各個(gè)驗(yàn)證控件的各個(gè)驗(yàn)證控件的 ControlToValidate 屬性設(shè)為同一值屬性設(shè)為同一值v只有只有 RequiredFieldValidator 檢查輸入控件的值是否檢查輸入控件的值是否為空值為空值v組合使用驗(yàn)證控件驗(yàn)證電話號碼的例子組合使用驗(yàn)證控件驗(yàn)證電話號碼的例子RequiredFieldValidator 驗(yàn)證用戶輸入的值是否為空驗(yàn)證用戶輸入的值是否為空RegularExpressionValidator 驗(yàn)證電話號碼是否符合給定驗(yàn)證電話號碼是否符合給定格式格式766. ValidationSummary 控件控件vPage.IsValid 返回返回 Fa

53、lse 時(shí)顯示錯(cuò)誤信息時(shí)顯示錯(cuò)誤信息v在一個(gè)位置上匯總在一個(gè)位置上匯總 Web 頁上所有驗(yàn)證控件的頁上所有驗(yàn)證控件的錯(cuò)誤信息錯(cuò)誤信息vHeaderText屬性:屬性:設(shè)置標(biāo)題設(shè)置標(biāo)題vDisplayMode 屬性,有屬性,有3個(gè)值可選:個(gè)值可選:BulletList:項(xiàng)目符號列表顯示:項(xiàng)目符號列表顯示List:無符號列表顯示:無符號列表顯示SingleParagraph:單個(gè)段落顯示:單個(gè)段落顯示77vShowMessageBox 屬性:屬性:是否彈出一個(gè)錯(cuò)誤列是否彈出一個(gè)錯(cuò)誤列表的對話框表的對話框v使用使用 ValiationSummary 控件時(shí),控件時(shí),其他驗(yàn)證控其他驗(yàn)證控件通常使用件通

54、常使用 Text=“*” 指示錯(cuò)誤出現(xiàn)的位置指示錯(cuò)誤出現(xiàn)的位置【例例4-28】演示如何使用演示如何使用ValidationSummary控件顯示控件顯示錯(cuò)誤信息摘要。錯(cuò)誤信息摘要。參見示例參見示例第第04章章WebValidatorValidationSummary.aspx 784.4.3 使用驗(yàn)證組v在頁面上控件比較多時(shí),可以將不同的控件歸為一在頁面上控件比較多時(shí),可以將不同的控件歸為一組,組,ASP.NET在對每個(gè)驗(yàn)證組進(jìn)行驗(yàn)證時(shí),與同頁在對每個(gè)驗(yàn)證組進(jìn)行驗(yàn)證時(shí),與同頁的其他組無關(guān)的其他組無關(guān)v通過將要分在同一組的所有控件的通過將要分在同一組的所有控件的 ValidationGroup

55、屬性設(shè)置為同一個(gè)名稱(字符串)屬性設(shè)置為同一個(gè)名稱(字符串)即可創(chuàng)建驗(yàn)證組即可創(chuàng)建驗(yàn)證組 79【例例4-29】演示在演示在Button控件回發(fā)到服務(wù)器時(shí),如何控件回發(fā)到服務(wù)器時(shí),如何使用使用ValidationGroup屬性指定要驗(yàn)證的控件。屬性指定要驗(yàn)證的控件。參見示例參見示例第第04章章WebValidatorValidateGroup.aspx 804.4.4 禁用驗(yàn)證禁用驗(yàn)證的方法:禁用驗(yàn)證的方法:v設(shè)置設(shè)置 ASP.NET 服務(wù)器控件的屬性服務(wù)器控件的屬性(CausesValidation=false)來避開客戶端和服)來避開客戶端和服務(wù)器的驗(yàn)證,而不只是客戶端驗(yàn)證務(wù)器的驗(yàn)證,而不只

56、是客戶端驗(yàn)證 v禁用驗(yàn)證控件,即將控件的屬性禁用驗(yàn)證控件,即將控件的屬性Enabled設(shè)置為設(shè)置為false,使它根本不在頁面上呈現(xiàn)并且不進(jìn)行使用該,使它根本不在頁面上呈現(xiàn)并且不進(jìn)行使用該控件的驗(yàn)證控件的驗(yàn)證v如果要執(zhí)行服務(wù)器上的驗(yàn)證,而不執(zhí)行客戶端的驗(yàn)如果要執(zhí)行服務(wù)器上的驗(yàn)證,而不執(zhí)行客戶端的驗(yàn)證,則可以將單獨(dú)驗(yàn)證控件設(shè)置為不生成客戶端腳證,則可以將單獨(dú)驗(yàn)證控件設(shè)置為不生成客戶端腳本,即將其屬性本,即將其屬性EnableClientScript設(shè)為設(shè)為false 814.4.5 以編程的方式測試驗(yàn)證的有效性以編程的方式測試驗(yàn)證的有效性v測試常規(guī)錯(cuò)誤狀態(tài)測試常規(guī)錯(cuò)誤狀態(tài)u在代碼中測試頁的在代碼中測試頁的 IsValid 屬性,如果為屬性,如果為true則執(zhí)則執(zhí)行代碼;否則不執(zhí)行行代碼;否則不執(zhí)行 void Button1

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論