web開發(fā)控件基礎(chǔ) C#_第1頁(yè)
web開發(fā)控件基礎(chǔ) C#_第2頁(yè)
web開發(fā)控件基礎(chǔ) C#_第3頁(yè)
web開發(fā)控件基礎(chǔ) C#_第4頁(yè)
web開發(fā)控件基礎(chǔ) C#_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第3講 控件基礎(chǔ)2學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)基本基本W(wǎng)EBWEB服務(wù)器控件(結(jié)合服務(wù)器控件(結(jié)合HTMLHTML控件)控件)6 6種服務(wù)器驗(yàn)證控件種服務(wù)器驗(yàn)證控件用戶控件用戶控件3服務(wù)器控件屬性 服務(wù)器控件的基類WebControl定義了一些可以應(yīng)用于幾乎所有的服務(wù)器控件的基本屬性。 屬性的使用方式有三種 : (1) 在與控件對(duì)應(yīng)的屬性窗口里設(shè)置屬性。 (2) 在定義控件的標(biāo)記里設(shè)置屬性。 (3) 在后臺(tái)代碼中利用“.”操作符設(shè)置屬性。4服務(wù)器控件屬性 BackColorBackColor:獲取或設(shè)置:獲取或設(shè)置WebWeb服務(wù)器控件的背景色。服務(wù)器控件的背景色。 BorderColorBorderCo

2、lor:獲取或設(shè)置:獲取或設(shè)置WebWeb控件的邊框顏色。控件的邊框顏色。 BorderStyleBorderStyle:獲取或設(shè)置:獲取或設(shè)置WebWeb服務(wù)器控件的邊框樣式。服務(wù)器控件的邊框樣式。 BorderWidthBorderWidth:獲取或設(shè)置:獲取或設(shè)置WebWeb服務(wù)器控件的邊框?qū)挾?。服?wù)器控件的邊框?qū)挾取?CssClassCssClass:獲取或設(shè)置由:獲取或設(shè)置由WebWeb服務(wù)器控件在客戶端呈現(xiàn)的級(jí)聯(lián)樣式表服務(wù)器控件在客戶端呈現(xiàn)的級(jí)聯(lián)樣式表(CSS)(CSS)類。類。 EnabledEnabled:獲取或設(shè)置一個(gè)值,該值指示是否啟用:獲取或設(shè)置一個(gè)值,該值指示是否啟用W

3、ebWeb服務(wù)器控件。服務(wù)器控件。 EnableThemingEnableTheming:獲取或設(shè)置一個(gè)值,該值指示是否對(duì)此控件應(yīng)用主題。:獲取或設(shè)置一個(gè)值,該值指示是否對(duì)此控件應(yīng)用主題。 FontFont:獲取與:獲取與WebWeb服務(wù)器控件關(guān)聯(lián)的字體屬性。服務(wù)器控件關(guān)聯(lián)的字體屬性。 ForeColorForeColor:獲取或設(shè)置:獲取或設(shè)置WebWeb服務(wù)器控件的前景色(通常是文本顏色)。服務(wù)器控件的前景色(通常是文本顏色)。 HeightHeight:獲取或設(shè)置:獲取或設(shè)置WebWeb服務(wù)器控件的高度。服務(wù)器控件的高度。 IDID: 獲取或設(shè)置分配給服務(wù)器控件的編程標(biāo)識(shí)符。獲取或設(shè)置分

4、配給服務(wù)器控件的編程標(biāo)識(shí)符。 SkinIDSkinID:獲取或設(shè)置要應(yīng)用于控件的外觀。:獲取或設(shè)置要應(yīng)用于控件的外觀。 VisibleVisible: 獲取或設(shè)置一個(gè)值,該值指示服務(wù)器控件是否作為獲取或設(shè)置一個(gè)值,該值指示服務(wù)器控件是否作為UIUI呈現(xiàn)在頁(yè)上。呈現(xiàn)在頁(yè)上。 WidthWidth:獲取或設(shè)置:獲取或設(shè)置WebWeb服務(wù)器控件的寬度。服務(wù)器控件的寬度。53.1 Web服務(wù)器控件 基本基本W(wǎng)ebWeb服務(wù)器控件:服務(wù)器控件: 按鈕控件(Button控件、LinkButton控件和ImageButton控件) TextBox控件 CheckBox控件和CheckBoxList控件 Ra

5、dioButton控件和RadioButtonList控件 ListBox控件和DropDownList控件。驗(yàn)證控件:驗(yàn)證控件:6按鈕控件 VS2008中有以下3種類型的Web服務(wù)器按鈕控件: (1 1)ButtonButton控件控件 (2 2)LinkButtonLinkButton控件控件 (3 3)ImageButtonImageButton控件控件 3種類型的按鈕在鼠標(biāo)單擊時(shí)都可以將頁(yè)面提交給服務(wù)器,并觸發(fā)服務(wù)器端對(duì)應(yīng)的ClickClick事件事件,然后在服務(wù)器端執(zhí)行相應(yīng)的事件代碼。 7的語(yǔ)法格式:允許將一個(gè)圖形指定為按鈕,這個(gè)控件具有Image的界面和Button的功能。語(yǔ)法如下

6、:,它只是使按鈕的界面呈現(xiàn)為超級(jí)鏈接狀,并非真正的超級(jí)鏈接。語(yǔ)法如下:asp: LinksButton id=“LinksButton1” runat=“Server” Text=“Button上面的文本” 按鈕控件8 例:在購(gòu)物網(wǎng)站中每個(gè)商品都會(huì)有圖片信息,這個(gè)圖片一般會(huì)用ImageButton控件,當(dāng)用戶單擊圖片后就可進(jìn)入該商品信息介紹的頁(yè)面。按鈕控件9標(biāo)簽控件標(biāo)簽控件LabelLabel控件:用于在網(wǎng)頁(yè)上顯示文本??丶河糜谠诰W(wǎng)頁(yè)上顯示文本。聲明聲明LabelLabel的語(yǔ)法格式:的語(yǔ)法格式:asp:Label ID=LabelLabel控件只能用來(lái)顯示文本,它只有控件只能用來(lái)顯示文本,

7、它只有TextText屬性,用來(lái)獲取屬性,用來(lái)獲取或設(shè)置指定在或設(shè)置指定在LabelLabel控件上顯示的文字。控件上顯示的文字。10示例: 實(shí)現(xiàn)顯示隨機(jī)廣告的瀏覽功能。11TextBox控件 TextBoxTextBox控件控件:用于讓用戶輸入文本內(nèi)容。 TextBoxTextBox控件常用屬性和事件控件常用屬性和事件:IDID屬性屬性 指定控件的名稱,它是控件在頁(yè)面中的唯一標(biāo)識(shí)。AutoPostBackAutoPostBack屬性屬性 決定控件中文本內(nèi)容修改后,是否自動(dòng)回發(fā)到服務(wù)器。默認(rèn)為false,即修改文本后并不立即回發(fā)到服務(wù)器,而是等頁(yè)面被提交后一并處理。若為true,則每次更改文本

8、框的內(nèi)容并且焦點(diǎn)離開控件時(shí),都會(huì)自動(dòng)回發(fā),使服務(wù)器處理控件相應(yīng)的TextChanged事件。12TextModeTextMode屬性屬性 設(shè)置文本框接受文本的行為模式。有3種屬性值:MultiLine(多行輸入模式)、Password(密碼輸入模式)、SingleLine(默認(rèn)值,單行輸入模式)。TextText屬性屬性 設(shè)置控件上所要顯示的文本。TextChangedTextChanged事件事件 文本框中的內(nèi)容發(fā)生更改且頁(yè)面回傳到服務(wù)器端處理時(shí)觸發(fā)的事件。若AutoPostBack屬性設(shè)置為true,則每次更改文本框中的內(nèi)容都會(huì)使頁(yè)面回傳到服務(wù)器端,并同時(shí)觸發(fā)TextChanged事件。T

9、extBox控件13語(yǔ)法如下:TextBox控件14示例: 實(shí)現(xiàn)用戶登陸界面。15CheckBox控件與CheckBoxList控件CheckBoxCheckBox控件控件 用于向用戶提供選項(xiàng),適用于選項(xiàng)不多且比較固定的情況。除了一些基本屬性外,常用的屬性如下:lCheckedChecked屬性屬性: :表示是否選中表示是否選中CheckBoxCheckBox控件??丶TextText屬性屬性: :用于獲取或設(shè)置與用于獲取或設(shè)置與CheckBoxCheckBox關(guān)聯(lián)的文本標(biāo)簽。關(guān)聯(lián)的文本標(biāo)簽。lAutoPostBack:AutoPostBack:表示在單擊控件時(shí)狀態(tài)是否回傳到服務(wù)器,表示在

10、單擊控件時(shí)狀態(tài)是否回傳到服務(wù)器,默認(rèn)是默認(rèn)是FalseFalse。16CheckBox控件與CheckBoxList控件CheckBoxListCheckBoxList控件控件 用于向用戶提供選項(xiàng)列表,適用于選項(xiàng)較多或在運(yùn)行時(shí)動(dòng)態(tài)地決定有哪些選項(xiàng)時(shí)。 常用的屬性如下:ItemsItems屬性:用于獲取列表控件項(xiàng)的集合。屬性:用于獲取列表控件項(xiàng)的集合。.Items.Count.Items.Count屬性:獲取列表的總項(xiàng)數(shù)屬性:獲取列表的總項(xiàng)數(shù) .Items0.Selected.Items0.Selected屬性:是否選中屬性:是否選中.Items0.Text.Items0.Text屬性:該項(xiàng)的顯

11、示文本屬性:該項(xiàng)的顯示文本 SelectedValueSelectedValue屬性:獲取列表控件中選定項(xiàng)的值或選擇列屬性:獲取列表控件中選定項(xiàng)的值或選擇列表控件中包含指定值的項(xiàng)表控件中包含指定值的項(xiàng)17例:創(chuàng)建web頁(yè),實(shí)現(xiàn)當(dāng)用戶進(jìn)行多項(xiàng)選擇后將選中項(xiàng)顯示在頁(yè)面中。(在實(shí)現(xiàn)過程中,觀察和比較CheckBox和CheckBoxList這兩個(gè)控件的使用區(qū)別)效果如圖所示:CheckBox控件與CheckBoxList控件18RadioButton控件與RadioButtonList控件 RadioButtonRadioButton控件:控件: 屬性:定義單選按鈕組名,具有相同組名的單選按鈕可以作

12、為一組互斥的控件來(lái)使用。 RadioButtonListRadioButtonList控件:控件: 封裝了一組單選按鈕控件的列表控件 屬性:用于獲取列表控件項(xiàng)的集合。 若要使事件起作用,必須將屬性置為True19例:模擬軟件安裝時(shí)要用戶選擇安裝類型的功能。當(dāng)用戶選擇后,單擊“下一步”按鈕,在Label控件將用戶選擇的安裝類型顯示在頁(yè)面上。(效果如圖所示)RadioButton控件與RadioButtonList控件20ListBox控件和DropDownList控件ListBoxListBox控件(列表框控件)控件(列表框控件) 用來(lái)顯示一組條目,用戶可從中選擇一項(xiàng)或多項(xiàng)多項(xiàng)。常用的屬性常用的

13、屬性 ItemsItems屬性屬性:用于查看列表中的項(xiàng)。 SelectionModeSelectionMode屬性屬性:設(shè)置ListBox的選擇模式。如果要想實(shí)現(xiàn)多選,除了設(shè)置SelectionMode屬性為Multiple外,在選擇時(shí)需要按住Ctrl鍵。 RowsRows屬性:屬性:用于獲取ListBox控件中顯示的行數(shù)。 SelectedItemSelectedItem屬性屬性:表示當(dāng)前選中的項(xiàng) SelectedItemsSelectedItems屬性屬性:表示當(dāng)前選中的所有項(xiàng) SelectedValueSelectedValue屬性屬性:表示當(dāng)前選中項(xiàng)的值21DropDownListDr

14、opDownList下拉列表框控件下拉列表框控件 為用戶提供一些選項(xiàng)的控件,基本和ListBox控件類似。只不過此控件只能有一個(gè)選項(xiàng)處于選中狀態(tài),并且每次只能顯示一個(gè)選項(xiàng),而ListBox控件可以設(shè)置為允許多選,并且還可以設(shè)置為顯示多行。 常用屬性常用屬性 AutoPostBackAutoPostBack屬性:屬性:是否自動(dòng)回傳 ItemsItems屬性:屬性:獲取列表控件項(xiàng)的集合常用事件常用事件 SelectedIndexChanged SelectedIndexChanged事件事件:當(dāng)選擇項(xiàng)改變時(shí)所激發(fā)的事件。(AutoPostBackAutoPostBack屬性設(shè)置為屬性設(shè)置為true

15、true時(shí)才可激發(fā))時(shí)才可激發(fā))ListBox控件和DropDownList控件22例:在一些網(wǎng)站的登陸和注冊(cè)頁(yè)面,用戶需要從兩個(gè)相互關(guān)聯(lián)的下拉列表框中選擇用戶所在的城市和城區(qū),如果改變了第1個(gè)下拉列表框的當(dāng)前選項(xiàng),那么第2個(gè)下拉列表框的選項(xiàng)也將隨之改變。(效果如圖所示)ListBox控件和DropDownList控件23例:熟悉ListBox控件的使用,實(shí)現(xiàn)如圖所示效果。ListBox控件和DropDownList控件24FileUpload文件上傳控件 FileUpload控件可以使用戶選擇客戶端上的文件并將其上傳到 Web 服務(wù)器。 注意:用戶選擇要上載的文件后,F(xiàn)ileUploadFi

16、leUpload 控件不會(huì)自動(dòng)將該文件保存到服務(wù)器。-必須顯式提供一個(gè)控件必須顯式提供一個(gè)控件或機(jī)制,使用戶能提交指定的文件或機(jī)制,使用戶能提交指定的文件。如可以提供一個(gè)按鈕,用戶單擊它即可上載文件。 25FileUpload文件上傳控件 FileUpload控件的常用屬性: 26FileUpload文件上傳控件 例:利用FileUpload控件實(shí)現(xiàn)上傳圖片功能。效果如圖所示:27Calendar日期選擇控件 Calendar控件用于在瀏覽器中顯示日歷,該控件可顯示某個(gè)月的日歷,允許用戶選擇日期,也可以跳到前一個(gè)或下一個(gè)月。 主要屬性:主要屬性: 28Calendar日期選擇控件 主要屬性:主

17、要屬性: 29Calendar日期選擇控件 例:使用Calendar控件實(shí)現(xiàn)日期選擇的功能,以保證日期輸入的方便和正確。(效果如圖所示)30TreeView控件(母版頁(yè)) “TreeView”控件可按樹形結(jié)構(gòu)來(lái)顯示分層數(shù)據(jù)樹形結(jié)構(gòu)來(lái)顯示分層數(shù)據(jù),如目錄。它由一個(gè)或多個(gè)節(jié)點(diǎn)構(gòu)成。樹形結(jié)構(gòu)中的每一項(xiàng)都稱為“節(jié)點(diǎn)”。 TreeView 控件的節(jié)點(diǎn)類型 :31 TreeView 控件中,常用屬性如下: TextText屬性屬性為顯示在“TreeView”控件中的節(jié)點(diǎn)名稱。 ValueValue屬性屬性用于存儲(chǔ)當(dāng)前節(jié)點(diǎn)的附加數(shù)據(jù) 。 NavigateUrlNavigateUrl屬性屬性表示該節(jié)點(diǎn)所鏈接的

18、頁(yè)面。 SelectActionSelectAction屬性屬性用于設(shè)定單擊節(jié)點(diǎn)時(shí)所觸發(fā)的特定操作。如展開或折疊子節(jié)點(diǎn) ExpandDepthExpandDepth屬性屬性設(shè)置為要顯示的節(jié)點(diǎn)級(jí)別所對(duì)應(yīng)的數(shù)字。TreeView控件32 例:利用TreeView控件實(shí)現(xiàn)如圖所示頁(yè)面效果。進(jìn)一步熟悉和掌握此控件的用法和功能。TreeView控件333.2 html控件與web服務(wù)器控件 HTMLHTML控件控件:以HTML標(biāo)記呈現(xiàn)的控件,此類控件不僅可以在客戶端運(yùn)行又可將其作為服務(wù)器控件運(yùn)行; WebWeb服務(wù)器控件服務(wù)器控件:以“asp:”為前綴的控件,此類控件都運(yùn)行在服務(wù)器端。34HTML控件

19、HTML控件存在于【工具箱】的HTML選項(xiàng)卡下,它是基于HTML標(biāo)記語(yǔ)言的,主要用于在客戶端直接與用戶交互。當(dāng)需要在客戶端客戶端動(dòng)態(tài)地響應(yīng)用戶的鼠標(biāo)單擊、鼠標(biāo)移動(dòng)、鍵盤輸入等交互性比較頻繁的操作時(shí),可以使用HTML控件。35如向設(shè)計(jì)頁(yè)面中拖放一個(gè)Input(Button)控件,則在【源】視圖中會(huì)自動(dòng)生成如下代碼: HTML控件36將HTML控件轉(zhuǎn)換為HTML服務(wù)器控件 默認(rèn)情況下,服務(wù)器無(wú)法使用ASP.NET網(wǎng)頁(yè)中的HTML元素,但可以通過將HTML元素轉(zhuǎn)換為HTML服務(wù)器控件,將其轉(zhuǎn)換為可在服務(wù)器上編程的對(duì)象。 ASP.NET頁(yè)中的大部分HTML元素都可以通過以下方式轉(zhuǎn)換成HTML服務(wù)器控件

20、: 1.1.添加屬性添加屬性 runat=server“runat=server“ 在分析過程中,ASP.NET頁(yè)框架將創(chuàng)建包含runat=“server”屬性的所有元素的實(shí)例。 2.2.在網(wǎng)頁(yè)的在網(wǎng)頁(yè)的【設(shè)計(jì)設(shè)計(jì)】視圖下,用鼠標(biāo)右鍵單擊視圖下,用鼠標(biāo)右鍵單擊HTMLHTML控件,在控件,在彈出的快捷菜單中選擇彈出的快捷菜單中選擇【作為服務(wù)器控件運(yùn)行作為服務(wù)器控件運(yùn)行】,該,該HTMLHTML控件會(huì)自動(dòng)變?yōu)榭丶?huì)自動(dòng)變?yōu)镠TMLHTML服務(wù)器控件服務(wù)器控件。37HTML服務(wù)器控件與Web服務(wù)器控件的區(qū)別(表面):HTML服務(wù)器控件沒有asp標(biāo)記前綴。從外觀上看,設(shè)計(jì)頁(yè)面中控件左上方的綠色三角形

21、表示該控件為服務(wù)器控件。38HTML服務(wù)器控件與Web服務(wù)器控件的區(qū)別(實(shí)質(zhì)):1、隱藏客戶端的不同,這樣程序員可以把更多的精力放在業(yè)務(wù)上,而不用去考慮客戶端的瀏覽器是ie還是firefox,或者是移動(dòng)設(shè)備。2、事件處理模型不同,Html標(biāo)注和Html服務(wù)器控件的事件處理都是在客戶端的頁(yè)面上,而A服務(wù)器控件則是在服務(wù)器上。舉例 39 input id=Button4 type=button value=button runat=server/ 是Html服務(wù)器控件,此時(shí)我們點(diǎn)擊此按鈕,頁(yè)面不會(huì)回傳到服務(wù)器端,原因是我們沒有為其定義鼠標(biāo)點(diǎn)擊事件。 input id=Button4 type=bu

22、tton value=button runat=server onserverclick=test / 我們?yōu)閔tml服務(wù)器控件添加了一個(gè)onserverclick事件,點(diǎn)擊此按鈕頁(yè)面會(huì)發(fā)回服務(wù)器端,并執(zhí)行test(object sender, EventArgs e)方法。 是A服務(wù)器控件,并且我們沒有為其定義click,但是我們點(diǎn)擊時(shí),頁(yè)面也會(huì)發(fā)回到服務(wù)器端。由此可見:Html標(biāo)注和Html服務(wù)器控件的事件是由頁(yè)面來(lái)觸發(fā)的,而A服務(wù)器控件則是由頁(yè)面把Form發(fā)回到服務(wù)器端,由服務(wù)器來(lái)處理。403.3 3.3 驗(yàn)證控件驗(yàn)證控件 為什么要驗(yàn)證用戶輸入為什么要驗(yàn)證用戶輸入 驗(yàn)證過程驗(yàn)證過程 驗(yàn)證

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

24、入導(dǎo)致服務(wù)器崩潰。避免非法的用戶輸入導(dǎo)致服務(wù)器崩潰。 避免欺騙或惡意代碼。避免欺騙或惡意代碼。 阻止阻止 Web Web 窗體進(jìn)行下一步處理,直到所有的用戶輸入都通過窗體進(jìn)行下一步處理,直到所有的用戶輸入都通過驗(yàn)證。驗(yàn)證。423.3.2 3.3.2 驗(yàn)證過程驗(yàn)證過程 43客戶端驗(yàn)證和服務(wù)器端驗(yàn)證的區(qū)別客戶端驗(yàn)證和服務(wù)器端驗(yàn)證的區(qū)別客戶端驗(yàn)證客戶端驗(yàn)證服務(wù)器端驗(yàn)證服務(wù)器端驗(yàn)證依賴于客戶端瀏覽器版本依賴于客戶端瀏覽器版本與客戶端瀏覽器版本無(wú)關(guān)與客戶端瀏覽器版本無(wú)關(guān)使用使用JavascriptJavascript和和vbscriptvbscript實(shí)現(xiàn)實(shí)現(xiàn)使用基于使用基于.NET.NET的開發(fā)語(yǔ)言實(shí)

25、現(xiàn)的開發(fā)語(yǔ)言實(shí)現(xiàn)即時(shí)信息反饋即時(shí)信息反饋需要服務(wù)器往返以顯示錯(cuò)誤信息需要服務(wù)器往返以顯示錯(cuò)誤信息不能訪問服務(wù)器資源不能訪問服務(wù)器資源可與服務(wù)器上存儲(chǔ)的數(shù)據(jù)進(jìn)行比較驗(yàn)證,如與可與服務(wù)器上存儲(chǔ)的數(shù)據(jù)進(jìn)行比較驗(yàn)證,如與數(shù)據(jù)庫(kù)密碼進(jìn)行比較數(shù)據(jù)庫(kù)密碼進(jìn)行比較不能避免欺騙代碼或惡意代碼不能避免欺騙代碼或惡意代碼可以避免欺騙代碼和惡意代碼可以避免欺騙代碼和惡意代碼允許禁用客戶端驗(yàn)證允許禁用客戶端驗(yàn)證必然執(zhí)行,重復(fù)所有客戶端驗(yàn)證必然執(zhí)行,重復(fù)所有客戶端驗(yàn)證安全性較低安全性較低安全性較高安全性較高443.3.3 ASP.NET驗(yàn)證控件的使用 驗(yàn)證類型驗(yàn)證類型使用的控件使用的控件說說 明明必需項(xiàng)必需項(xiàng)Requir

26、edFieldValidator驗(yàn)證一個(gè)必填字段,確保用戶不會(huì)跳過某驗(yàn)證一個(gè)必填字段,確保用戶不會(huì)跳過某項(xiàng)輸入。項(xiàng)輸入。與某值與某值的比較的比較CompareValidator將用戶輸入與一個(gè)常數(shù)值或者另一個(gè)控件將用戶輸入與一個(gè)常數(shù)值或者另一個(gè)控件或特定數(shù)據(jù)類型的值進(jìn)行比較。或特定數(shù)據(jù)類型的值進(jìn)行比較。范圍檢查范圍檢查RangeValidator檢查用戶的輸入是否在要求的范圍內(nèi)。檢查用戶的輸入是否在要求的范圍內(nèi)。模式匹配模式匹配RegularExpressionValidator用于檢查輸入的內(nèi)容與正則表達(dá)式所定義用于檢查輸入的內(nèi)容與正則表達(dá)式所定義的模式是否匹配。如電子郵件地址、電話的模式是

27、否匹配。如電子郵件地址、電話號(hào)碼等字符序列。號(hào)碼等字符序列。驗(yàn)證總匯驗(yàn)證總匯ValidationSummary該控件不執(zhí)行驗(yàn)證,但經(jīng)常與其它驗(yàn)證控該控件不執(zhí)行驗(yàn)證,但經(jīng)常與其它驗(yàn)證控件一起用于顯示來(lái)自網(wǎng)頁(yè)上所有驗(yàn)證控件件一起用于顯示來(lái)自網(wǎng)頁(yè)上所有驗(yàn)證控件的錯(cuò)誤信息。的錯(cuò)誤信息。用戶定義用戶定義CustomValidator調(diào)用在服務(wù)器端編寫的自定義驗(yàn)證函數(shù)。調(diào)用在服務(wù)器端編寫的自定義驗(yàn)證函數(shù)。45驗(yàn)證控件的共有屬性驗(yàn)證控件的共有屬性 屬性屬性說說 明明Display獲取或設(shè)置驗(yàn)證控件中錯(cuò)誤信息的顯示行為獲取或設(shè)置驗(yàn)證控件中錯(cuò)誤信息的顯示行為ErrorMessage獲取或設(shè)置驗(yàn)證失敗時(shí)獲取或設(shè)置

28、驗(yàn)證失敗時(shí) ValidationSummary 控件中顯示控件中顯示的錯(cuò)誤信息的文本的錯(cuò)誤信息的文本Text獲取或設(shè)置驗(yàn)證失敗時(shí)驗(yàn)證控件中顯示的文本獲取或設(shè)置驗(yàn)證失敗時(shí)驗(yàn)證控件中顯示的文本ControlToValidate獲取或設(shè)置要驗(yàn)證的輸入控件獲取或設(shè)置要驗(yàn)證的輸入控件EnableClientScript獲取或設(shè)置一個(gè)值,該值指示是否啟用客戶端驗(yàn)證獲取或設(shè)置一個(gè)值,該值指示是否啟用客戶端驗(yàn)證SetFocusOnError獲取或設(shè)置一個(gè)值,該值指示在驗(yàn)證失敗時(shí)是否將焦點(diǎn)獲取或設(shè)置一個(gè)值,該值指示在驗(yàn)證失敗時(shí)是否將焦點(diǎn)設(shè)置到設(shè)置到 ControlToValidate 屬性指定的控件上屬性指定的

29、控件上ValidationGroup獲取或設(shè)置此驗(yàn)證控件所屬的驗(yàn)證組的名稱獲取或設(shè)置此驗(yàn)證控件所屬的驗(yàn)證組的名稱IsValid獲取或設(shè)置一個(gè)值,該值指示關(guān)聯(lián)的輸入控件是否通過獲取或設(shè)置一個(gè)值,該值指示關(guān)聯(lián)的輸入控件是否通過驗(yàn)證驗(yàn)證46 DisplayDisplay屬性屬性:流布局模式下,設(shè)置多個(gè)驗(yàn)證控件的:流布局模式下,設(shè)置多個(gè)驗(yàn)證控件的錯(cuò)誤信息的空間排列方式。錯(cuò)誤信息的空間排列方式。NoneStaticDynamic在驗(yàn)證控件的位置上不顯示錯(cuò)誤信息在驗(yàn)證控件的位置上不顯示錯(cuò)誤信息在頁(yè)面布局中分配用于顯示驗(yàn)證消息的空間在頁(yè)面布局中分配用于顯示驗(yàn)證消息的空間如果驗(yàn)證成功,將不占據(jù)頁(yè)面空間如果驗(yàn)證

30、成功,將不占據(jù)頁(yè)面空間返回返回驗(yàn)證控件的共有屬性驗(yàn)證控件的共有屬性 47 ErrorMessage 屬性指定驗(yàn)證失敗后在驗(yàn)證控件中顯示的文本指定驗(yàn)證失敗后在驗(yàn)證控件中顯示的文本如果設(shè)置了如果設(shè)置了 Text Text 屬性,不顯示屬性,不顯示 ErrorMessageErrorMessage Text 屬性指定將在驗(yàn)證控件中顯示的文本指定將在驗(yàn)證控件中顯示的文本已設(shè)置已設(shè)置已設(shè)置已設(shè)置未設(shè)置未設(shè)置未設(shè)置未設(shè)置已設(shè)置已設(shè)置已設(shè)置已設(shè)置 顯示顯示 ErrorMessage 文本文本 顯示顯示 Text 文本文本 顯示顯示 Text 文本文本返回驗(yàn)證控件的共有屬性驗(yàn)證控件的共有屬性 481) Req

31、uiredFieldValidator1) RequiredFieldValidator控件控件 RequiredFieldValidatorRequiredFieldValidator控件通常用于在用戶輸入信息時(shí)控件通常用于在用戶輸入信息時(shí),對(duì)某項(xiàng)必須輸入的信息內(nèi)容進(jìn)行驗(yàn)證,是一個(gè)簡(jiǎn)單但最,對(duì)某項(xiàng)必須輸入的信息內(nèi)容進(jìn)行驗(yàn)證,是一個(gè)簡(jiǎn)單但最常用的驗(yàn)證控件。常用的驗(yàn)證控件。 當(dāng)與其關(guān)聯(lián)的某個(gè)輸入控件失去焦點(diǎn)時(shí),且輸入控件值為當(dāng)與其關(guān)聯(lián)的某個(gè)輸入控件失去焦點(diǎn)時(shí),且輸入控件值為空,則會(huì)觸發(fā)空,則會(huì)觸發(fā)RequiredFieldValidatorRequiredFieldValidator控件??丶?/p>

32、 其語(yǔ)法如下:其語(yǔ)法如下:491) RequiredFieldValidator1) RequiredFieldValidator控件控件 例:對(duì)用戶登陸的頁(yè)面進(jìn)行驗(yàn)證,驗(yàn)證用戶名和密碼的輸入是否為空。(效果如圖所示)50測(cè)試用戶的輸入是否符合指定的值或者符合另一個(gè)輸入測(cè)試用戶的輸入是否符合指定的值或者符合另一個(gè)輸入控件的值??丶闹怠?蛰斎肽J(rèn)為有效驗(yàn)證??蛰斎肽J(rèn)為有效驗(yàn)證。常用屬性:常用屬性:ControlToCompare:確定要比較的另一個(gè)控件。確定要比較的另一個(gè)控件。Operator:指定使用的比較運(yùn)算符。指定使用的比較運(yùn)算符。Type:指定數(shù)據(jù)類型,希望輸入控件中的值與某個(gè)數(shù)指定

33、數(shù)據(jù)類型,希望輸入控件中的值與某個(gè)數(shù)據(jù)類型匹配。據(jù)類型匹配。ValueToCompare:確定要比較的某個(gè)常數(shù)值確定要比較的某個(gè)常數(shù)值2) CompareValidator控件512) CompareValidator控件 例:在設(shè)計(jì)用戶注冊(cè)頁(yè)面時(shí),希望用戶輸入兩次密碼,使用CompareValidator驗(yàn)證控件來(lái)判斷兩次輸入的密碼是否相等。 52驗(yàn)證輸入值是否在給定的范圍內(nèi)。驗(yàn)證輸入值是否在給定的范圍內(nèi)。輸入值介于最小值和最大值之間是有效的。輸入值介于最小值和最大值之間是有效的??蛰斎胱鳛橛行?yàn)證??蛰斎胱鳛橛行?yàn)證。常用屬性:常用屬性:p MinimumValue:指定有效范圍的最小值。

34、指定有效范圍的最小值。p MaxmumValue:指定有效范圍的最大值。指定有效范圍的最大值。pType:指定要比較的值的數(shù)據(jù)類型。指定要比較的值的數(shù)據(jù)類型。3) RangeValidator控件 53案例名稱:范圍驗(yàn)證控件案例名稱:范圍驗(yàn)證控件程序程序: 請(qǐng)輸入1-6選項(xiàng)中的一項(xiàng):3) RangeValidator控件 54 在需要確定該值是否與某個(gè)正則表達(dá)式所定義的模式相在需要確定該值是否與某個(gè)正則表達(dá)式所定義的模式相匹配的情況下使用匹配的情況下使用 ValidationExpressionValidationExpression屬性屬性:編輯正則表達(dá)式:編輯正則表達(dá)式 Visual St

35、udio.NET Visual Studio.NET 提供以下預(yù)定義模式提供以下預(yù)定義模式 電話號(hào)碼電話號(hào)碼 郵政編碼郵政編碼 E-mail E-mail 地址地址注意:提供的這些預(yù)定義的模式的正則表達(dá)式未必正確。注意:提供的這些預(yù)定義的模式的正則表達(dá)式未必正確。4) RegularExpressionValidator控件55正則表達(dá)式字符含義正則表達(dá)式字符含義?零次或一次匹配前面的字符或子表達(dá)式零次或一次匹配前面的字符或子表達(dá)式* *零次或多次匹配前面的字符或子表達(dá)式零次或多次匹配前面的字符或子表達(dá)式+ +一次或多次匹配前面的字符或子表達(dá)式一次或多次匹配前面的字符或子表達(dá)式. .匹配任意一

36、個(gè)字符匹配任意一個(gè)字符ww匹配任意一個(gè)字符匹配任意一個(gè)字符dd匹配任意一個(gè)數(shù)字字符匹配任意一個(gè)數(shù)字字符.匹配一個(gè)點(diǎn)字符匹配一個(gè)點(diǎn)字符n,mn,m長(zhǎng)度是長(zhǎng)度是n n到到m m的字符串的字符串, ,必須與必須與dd或或SS合用合用0-n0-n零到零到n n之間的整數(shù)值之間的整數(shù)值| |分隔多個(gè)有效的模式分隔多個(gè)有效的模式56例:例: S3,6S3,6 3 3到到6 6位字符位字符A-Za-z2,5 A-Za-z2,5 由由2-52-5個(gè)字母組成個(gè)字母組成A-Zd5A-Zd5 以一個(gè)大寫字母開頭,加以一個(gè)大寫字母開頭,加5 5位數(shù)字位數(shù)字d5d5 5 5位的整數(shù)位的整數(shù). .* *#&.#&

37、amp;.* * 至少包含至少包含#&#&中的一個(gè)字符中的一個(gè)字符(d11)|(d3,4-)?d7,8)(d11)|(d3,4-)?d7,8) 中國(guó)電話號(hào)碼中國(guó)電話號(hào)碼正則表達(dá)式字符含義正則表達(dá)式字符含義57案例名稱:正則表達(dá)式匹配驗(yàn)證案例名稱:正則表達(dá)式匹配驗(yàn)證程序功能程序功能: 驗(yàn)證,數(shù)字接大寫字母- dA-Z“請(qǐng)數(shù)字開頭后接一個(gè)大寫字母: 4) RegularExpressionValidator控件585) ValidationSummary控件 ValidationSummary控件用于收集本頁(yè)所有驗(yàn)證錯(cuò)誤,并將它們組織起來(lái)顯示。 常用屬性:常用屬性:HeaderTe

38、xt顯示在摘要上方的標(biāo)題文本DisplayMode錯(cuò)誤信息顯示方式,該屬性有3個(gè)值:BulletList:每個(gè)消息都顯示為單獨(dú)的項(xiàng)(默認(rèn))List:每個(gè)消息顯示在單獨(dú)的行中SingleParagraph:每個(gè)消息顯示為段落中的一個(gè)句子ShowSummary是否顯示本控件ShowMessageBox是否彈出一個(gè)錯(cuò)誤列表的對(duì)話框。59案例名稱:驗(yàn)證總結(jié)控件案例名稱:驗(yàn)證總結(jié)控件程序:程序: 請(qǐng)?zhí)顚懩膫€(gè)人信息: 姓名: * 性別: 男 女 * 5) ValidationSummary控件 606) CustomValidator自定義控件 CustomValidator自定義驗(yàn)證控件,該控件關(guān)注:

39、ponservervalidate事件:設(shè)置CustomValidator服務(wù)器端驗(yàn)證事件。格式為: onservervalidate=“方法名” 方法名(object source, ServerValidateEventArgs args) -在其中編寫用戶自定義的驗(yàn)證方法p如果args.IsValid=true則驗(yàn)證通過,否則顯示錯(cuò)誤信息。-例:驗(yàn)證輸入是否為奇數(shù)61設(shè)置驗(yàn)證控件屬性如下:asp:CustomValidator ID=CustomValidator1 runat=server ControlToValidate=TextBox1 ErrorMessage=不是奇數(shù)不是奇數(shù) OnServerValidate=CustomValidator1_ServerValidate選中CustomValidator1控件,打開”事件”窗口,雙擊” ServerValidate“事件,編寫代碼:protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)try int i = int.Parse(TextBo

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論