版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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í),就會(huì)自動(dòng)執(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),也就是儲(chǔ)存的值,例如:在Web表單擁有一個(gè)TextBox控制項(xiàng),一旦輸入值,不論送回Postback多少次,除非更改TextBox控制項(xiàng)的值,否則顯示狀態(tài)都能夠自動(dòng)保管其值。 HTML表單沒有顯示狀態(tài)功能 Web表單擁有顯示狀態(tài)功能7-2-1 顯示狀態(tài)的基礎(chǔ)-原理 顯示狀態(tài)看起來是很神奇,事實(shí)上,它是運(yùn)用隱藏欄位儲(chǔ)存狀態(tài)資
5、料,如下所示: 姓名 : 選擇顏色: . 7-2-2 取消顯示狀態(tài) 在ASP.NET程式預(yù)設(shè)運(yùn)用顯示狀態(tài)儲(chǔ)存控制項(xiàng)的內(nèi)容,取消整個(gè)ASP.NET顯示狀態(tài),如下所示: 上述Page指引的EnableViewState屬性為False,表示取消顯示狀態(tài),True為啟動(dòng)顯示狀態(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)的值是一個(gè)範(fàn)圍,需要在一定範(fàn)圍才符合規(guī)則,例如:年齡需要大於 20,小於 80RegularExpressionValidator使用正規(guī)語言(Regular Express)的範(fàn)本字串檢查輸入的資料,例如:身份證字號(hào)或電子郵件地址欄位CustomValidator自行撰寫程序檢查欄位值ValidationSummary顯示 Web 表單所有驗(yàn)證控制項(xiàng)錯(cuò)誤訊息的摘要資訊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)可以用來比較兩個(gè)控制項(xiàng)的值,或是和一個(gè)指定的常數(shù)值進(jìn)行比較,如下所示: 7-4-3 RangeValidator驗(yàn)證控制項(xiàng) RangeValidator驗(yàn)證控制項(xiàng)可以用來檢查控制項(xiàng)的值,能否在一個(gè)指定的範(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是一個(gè)範(fàn)本字串,能夠進(jìn)行字串的比對(duì)和取代,例如:檢查運(yùn)用者名稱、身份証字號(hào)等字串格式能否符合需求。 在正規(guī)語言的範(fàn)本字串中,每一個(gè)字元都有特殊意義,屬於一種小型語言,正規(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 或符號(hào)a-z任何英文的小
11、寫字母A-Z任何英文的大寫字母0-9數(shù)字 09a-zA-Z任何大小寫的英文字母abc除了 a、b 和 c 以外的任何字元7-5-1 正規(guī)語言的基礎(chǔ)-語法1 正規(guī)語言的範(fàn)本字串是一個(gè)字串,只是字串擁有前述的字元符號(hào)和之後特殊的比較字元。首先需求定義範(fàn)本字串在比對(duì)字串出現(xiàn)的位置,如下表所示:字字元元說說明明比對(duì)字串的開始$比對(duì)字串的結(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方法比對(duì)參數(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)本字串比對(duì)控制項(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)證錯(cuò)誤的摘要資訊,也就是將一切驗(yàn)證錯(cuò)誤訊息以摘要方式顯示,如下所示: 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等.壓縮文件請(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《海岸風(fēng)光模板》課件
- 水準(zhǔn)測(cè)量外業(yè)工作要點(diǎn)
- 贛南醫(yī)學(xué)院《生物化學(xué)與分子生物學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 勞動(dòng)防護(hù)用品培訓(xùn)課件
- 身體解剖培訓(xùn)課件
- 2022年上海統(tǒng)計(jì)師(中級(jí))《統(tǒng)計(jì)基礎(chǔ)理論及相關(guān)知識(shí)》考試題庫(kù)及答案
- 甘孜職業(yè)學(xué)院《園林工程實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 三年級(jí)數(shù)學(xué)上冊(cè)1時(shí)分秒單元概述和課時(shí)安排素材新人教版
- 三年級(jí)數(shù)學(xué)上冊(cè)第三單元測(cè)量第4課時(shí)千米的認(rèn)識(shí)教案新人教版
- 小學(xué)生校園安全教育制度
- 采礦學(xué)課程設(shè)計(jì)_圖文
- 裝飾辦公室工作總結(jié)
- 《管理學(xué)原理與方法》周三多第六版
- 物業(yè)接管驗(yàn)收必須具備的條件
- 六年級(jí)上冊(cè)英語教案unit 5 What does he do人教
- 井蓋及踏步97S147(97S501-1、2)
- 口內(nèi)病例分析
- 壓力管道內(nèi)審記錄(共5頁(yè))
- 堵蓋與膠貼在車身堵孔方面的應(yīng)用
- 清單計(jì)價(jià)規(guī)范附錄附表詳解PPT課件
- 光刻膠知識(shí)簡(jiǎn)介
評(píng)論
0/150
提交評(píng)論