第7章Web表單驗(yàn)證控制項(xiàng)ppt課件_第1頁
第7章Web表單驗(yàn)證控制項(xiàng)ppt課件_第2頁
第7章Web表單驗(yàn)證控制項(xiàng)ppt課件_第3頁
第7章Web表單驗(yàn)證控制項(xiàng)ppt課件_第4頁
第7章Web表單驗(yàn)證控制項(xiàng)ppt課件_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第7章 Web表單驗(yàn)證控制項(xiàng) 7-1 表單送回功能Postback 7-2 表單的顯示狀態(tài)Viewstate 7-3 表單欄位驗(yàn)證的基礎(chǔ) 7-4 伺服端的驗(yàn)證控制項(xiàng)一 7-5 伺服端的驗(yàn)證控制項(xiàng)二 7-6 Web表單的重設(shè)按鈕7-1 表單送回功能Postback 7-1-1 表單的IsPostBack屬性 7-1-2 控制項(xiàng)的AutoPostBack屬性7-1 表單送回功能Postback ASP.NET運(yùn)用Web表單的控制項(xiàng)讓運(yùn)用者輸入或選取資料,運(yùn)用者輸入的資料在用戶端是以送回功能,將資料送回伺服端進(jìn)行處理,預(yù)設(shè)是送到自已的ASP.NET程式,相關(guān)的屬性,如下所示: Page物件的IsPo

2、stBack屬性:檢查能否是第一次載入ASP.NET程式,或是已經(jīng)在用戶端執(zhí)行過送回。 伺服端控制項(xiàng)的AutoPostBack屬性:假設(shè)Web控制項(xiàng)將AutoPostBack屬性設(shè)為True,當(dāng)控制項(xiàng)的資料變更時(shí),就會自動執(zhí)行用戶端送回。7-1-1 表單的IsPostBack屬性 在Page_Load事件處理程序可以運(yùn)用IsPostBack屬性檢查能否已經(jīng)送回資料,如下所示: If IsPostBack Then If NameTextBox.Text Then showName.Text = nameTextBox.Text & 您好! End If Else NameTextBox

3、.Text = 江小魚 End If7-1-2 控制項(xiàng)的AutoPostBack屬性-說明 Web表單的部分控制項(xiàng)擁有AutoPostBack屬性,例如:DropDownList控制項(xiàng),如下所示: 7-1-2 控制項(xiàng)的AutoPostBack屬性-控制項(xiàng) AutoPostBack屬性援助的Web控制項(xiàng)和事件,如下表所示:Web控制項(xiàng)控制項(xiàng)支援的事件支援的事件TextBoxOnTextChangedCheckBox、RadioButtonOnCheckChangedDropDownList、CheckBoxList、ListBox、RadioButtonListOnSelectedIndexCh

4、anged7-2 表單的顯示狀態(tài)Viewstate 7-2-1 顯示狀態(tài)的基礎(chǔ) 7-2-2 取消顯示狀態(tài) 7-2-3 如何保管PostBack表單送回的其它資料7-2-1 顯示狀態(tài)的基礎(chǔ)-說明 顯示狀態(tài)ViewState屬於一種ASP.NET機(jī)制,能夠保管伺服端控制項(xiàng)的狀態(tài),也就是儲存的值,例如:在Web表單擁有一個TextBox控制項(xiàng),一旦輸入值,不論送回Postback多少次,除非更改TextBox控制項(xiàng)的值,否則顯示狀態(tài)都能夠自動保管其值。 HTML表單沒有顯示狀態(tài)功能 Web表單擁有顯示狀態(tài)功能7-2-1 顯示狀態(tài)的基礎(chǔ)-原理 顯示狀態(tài)看起來是很神奇,事實(shí)上,它是運(yùn)用隱藏欄位儲存狀態(tài)資

5、料,如下所示: 姓名 : 選擇顏色: . 7-2-2 取消顯示狀態(tài) 在ASP.NET程式預(yù)設(shè)運(yùn)用顯示狀態(tài)儲存控制項(xiàng)的內(nèi)容,取消整個ASP.NET顯示狀態(tài),如下所示: 上述Page指引的EnableViewState屬性為False,表示取消顯示狀態(tài),True為啟動顯示狀態(tài)。假設(shè)只需指定控制項(xiàng)需求取消顯示狀態(tài),如下所示: 7-2-3 如何保管PostBack表單送回的其它資料 ASP.NET提供多種方法可以用來保管這些變數(shù)或參數(shù)值,如下所示: 運(yùn)用Cookie保管變數(shù)值。 運(yùn)用Session變數(shù)保管變數(shù)值。 運(yùn)用HtmlInputHidden控制項(xiàng)保管變數(shù)值。 運(yùn)用顯示狀態(tài)的StateBag物件

6、保管變數(shù)值。7-3 表單欄位驗(yàn)證的基礎(chǔ) 7-3-1 表單欄位驗(yàn)證的種類 7-3-2 ASP.NET的伺服端驗(yàn)證控制項(xiàng)7-3-1 表單欄位驗(yàn)證的種類 表單欄位的驗(yàn)證以把關(guān)的位置來區(qū)分,可以分為兩種,如下所示: 客戶端表單欄位驗(yàn)證:這是指在尚未送到伺服端前,在客戶端的瀏覽程式進(jìn)行檢查,即使用JavaScript或VBScript程式碼執(zhí)行欄位值的檢查。 伺服端表單欄位驗(yàn)證:伺服端的表單欄位驗(yàn)證是在資料送到伺服端後,才進(jìn)行資料的檢查。7-3-2 ASP.NET的伺服端驗(yàn)證控制項(xiàng)-種類驗(yàn)證控制項(xiàng)驗(yàn)證控制項(xiàng)說明說明RequiredFiledValidator使用者一定需要輸入資料或選取選項(xiàng),不能跳過此欄

7、位不輸入,例如:不可以不輸入使用者名稱CompareValidator將使用者輸入控制項(xiàng)的值,與常數(shù)或其它控制項(xiàng)值進(jìn)行比較,例如:兩次輸入的密碼是否相同RangeValidator使用者輸入控制項(xiàng)的值是一個範(fàn)圍,需要在一定範(fàn)圍才符合規(guī)則,例如:年齡需要大於 20,小於 80RegularExpressionValidator使用正規(guī)語言(Regular Express)的範(fàn)本字串檢查輸入的資料,例如:身份證字號或電子郵件地址欄位CustomValidator自行撰寫程序檢查欄位值ValidationSummary顯示 Web 表單所有驗(yàn)證控制項(xiàng)錯誤訊息的摘要資訊7-3-2 ASP.NET的伺服

8、端驗(yàn)證控制項(xiàng)-運(yùn)用 假設(shè)Web表單擁有上表的驗(yàn)證控制項(xiàng),就可以檢查Page物件的IsValid屬性,以確認(rèn)表單能否已經(jīng)通過驗(yàn)證,如下所示: If Page.IsValid Then Lname.Text = 姓名: & name.Text Lpass.Text = 密碼: & pass.Text End If7-4 伺服端的驗(yàn)證控制項(xiàng)一 7-4-1 RequiredFiledValidator驗(yàn)證控制項(xiàng) 7-4-2 CompareValidator驗(yàn)證控制項(xiàng) 7-4-3 RangeValidator驗(yàn)證控制項(xiàng)7-4-1 RequiredFiledValidator驗(yàn)證控制項(xiàng) R

9、equiredFiledValidator驗(yàn)證控制項(xiàng)可以檢查指定控制項(xiàng)能否沒有輸入資料或選取選項(xiàng),如下所示: 7-4-2 CompareValidator驗(yàn)證控制項(xiàng) CompareValidator驗(yàn)證控制項(xiàng)可以用來比較兩個控制項(xiàng)的值,或是和一個指定的常數(shù)值進(jìn)行比較,如下所示: 7-4-3 RangeValidator驗(yàn)證控制項(xiàng) RangeValidator驗(yàn)證控制項(xiàng)可以用來檢查控制項(xiàng)的值,能否在一個指定的範(fàn)圍,如下所示: 7-5 伺服端的驗(yàn)證控制項(xiàng)二 7-5-1 正規(guī)語言的基礎(chǔ) 7-5-2 RegularExpressionValidator驗(yàn)證控制項(xiàng) 7-5-3 CustomValidat

10、or驗(yàn)證控制項(xiàng) 7-5-4 ValidationSummary驗(yàn)證控制項(xiàng)7-5-1 正規(guī)語言的基礎(chǔ)-說明 正規(guī)語言Regular Expression是一個範(fàn)本字串,能夠進(jìn)行字串的比對和取代,例如:檢查運(yùn)用者名稱、身份証字號等字串格式能否符合需求。 在正規(guī)語言的範(fàn)本字串中,每一個字元都有特殊意義,屬於一種小型語言,正規(guī)語言解譯程式或稱引擎能夠?qū)⒍x的正規(guī)語言和字串變數(shù)進(jìn)行比較,解譯程式傳回布林值,True表示字串符合範(fàn)本字串的定義,F(xiàn)alse表示不符合。7-5-1 正規(guī)語言的基礎(chǔ)-字元與字元集字元集字元集說明說明abc英文字母 a、b 或 cabc英文字母 a、b、c 或符號a-z任何英文的小

11、寫字母A-Z任何英文的大寫字母0-9數(shù)字 09a-zA-Z任何大小寫的英文字母abc除了 a、b 和 c 以外的任何字元7-5-1 正規(guī)語言的基礎(chǔ)-語法1 正規(guī)語言的範(fàn)本字串是一個字串,只是字串擁有前述的字元符號和之後特殊的比較字元。首先需求定義範(fàn)本字串在比對字串出現(xiàn)的位置,如下表所示:字字元元說說明明比對字串的開始$比對字串的結(jié)束7-5-1 正規(guī)語言的基礎(chǔ)-語法2 正規(guī)語言不只可以定義字串出現(xiàn)的位置,還可以定義各字元出現(xiàn)的次數(shù),如下表所示:字元字元說明說明?0 或 1 次*0 或很多次+1 或很多次n出現(xiàn) n 次n,m出現(xiàn) n 到 m 次n,至少出現(xiàn) n 次7-5-1 正規(guī)語言的基礎(chǔ)-運(yùn)用

12、ASP.NET預(yù)設(shè)匯入System.Text.RegularExpressions的名稱空間,我們可以直接運(yùn)用Regex建構(gòu)子,建立正規(guī)語言的物件,如下所示: Dim regExp As Regex = New Regex(A-Z10-99) Dim regExp1 As Regex = New Regex(0-91w*, _ RegexOptions.IgnoreCase) 在建立好Regex物件後,可以運(yùn)用isMatch方法比對參數(shù)的字串能否符合範(fàn)本字串,如下所示: If regExp.IsMatch(code.Text) Then . End If7-5-2 RegularExpress

13、ionValidator驗(yàn)證控制項(xiàng) RegularExpressionValidator驗(yàn)證控制項(xiàng)是運(yùn)用正規(guī)語言的範(fàn)本字串比對控制項(xiàng)的值,如下所示: 7-5-3 CustomValidator驗(yàn)證控制項(xiàng) CurstomValidator驗(yàn)證控制項(xiàng)可以建立伺服端或客戶端欄位驗(yàn)證功能,我們可以自行撰寫程序來驗(yàn)證控制項(xiàng)的值,如下所示: 7-5-4 ValidationSummary驗(yàn)證控制項(xiàng) ValidationSummary驗(yàn)證控制項(xiàng)是用來顯示驗(yàn)證錯誤的摘要資訊,也就是將一切驗(yàn)證錯誤訊息以摘要方式顯示,如下所示: 7-6 Web表單的重設(shè)按鈕 7-6-1 取消客戶端驗(yàn)證控制項(xiàng)的功能 7-6-2 取消伺服端驗(yàn)證控制項(xiàng)的功能7-6-1 取消客戶端驗(yàn)證控制項(xiàng)的功能 取消客戶端驗(yàn)證功能改為伺服端驗(yàn)證,運(yùn)用的是Page指引的ClientTarget屬性,如下所示: 上述Page指引的ClientTarget屬性可以指定瀏覽程式的版本,其值如下所示: UpLevel:這是指客戶端瀏覽程式運(yùn)用Internet Explorer 5.5或以上的版本。 DownLevel:這是指客戶端瀏覽程式運(yùn)用Internet Explorer 5.5以下的版本,或非Internet Explorer瀏覽程式。7-6-2 取消伺服端驗(yàn)證控制項(xiàng)的功能 暫時(shí)取消伺服端控制項(xiàng)的功能,如

溫馨提示

  • 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

提交評論