ASP-NET教學設計教案-教程_第1頁
ASP-NET教學設計教案-教程_第2頁
ASP-NET教學設計教案-教程_第3頁
ASP-NET教學設計教案-教程_第4頁
ASP-NET教學設計教案-教程_第5頁
已閱讀5頁,還剩170頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《ASP.NET》

課程教案

2016--2017學年第二學期

任課教師張成年___________

任課班級軟件153__________

課程名稱ASP.NET_________

課程類型專業(yè)必修課_________

總學時80______________

二O一h年二月

授課題目第1章搭建ASP.NET開發(fā)環(huán)境

授課類型理論課+實驗課

多媒體教

教學方法講授、實例驅動教學手段

授課時間學時分配3

通過本次課程的學習,主要掌握visualstudio開發(fā)環(huán)境的框

教學目的架知識,安裝知識和開發(fā)環(huán)境常用操作:

框架知識

教學重點頁面創(chuàng)建

網(wǎng)站包括的基本要素

教學難點框架知識

其它

教學基本內容注

一、新課導入

我們已經(jīng)學習了C#程序語言,掌握了面向對象編程的基礎,再進一步了解框架相

關知識。包括一個完整網(wǎng)站包括的基本要素和常用的操作。

授課題目第2章服務器控件

授課類型理論課+實驗課

多媒體

教學方法講授、實例驅動教學手段

教學

授課時間學時分配15

通過本次課程的學習,主要掌握以下控件的應用:

Page頁面

Label控件

TextBox控件

Button控件

HyperLink控件

Image控件

ImageButton控件

LinkButton控件

教學目的DropDownList控件

ListBox控件

CheckBox控件

CheckBoxList控件

RadioButton控件

RadioButtonList控件

Panel控件

Table控件

BulletedList控件

ImageMap控件

Label控件

TextBox控件

Button控件

DropDownList控件

教學重點ListBox控件

RadioButtonList控件

Panel控件

Table控件

ImageMap控件

ListBox隹件

RadioButtonList控件

教學難點

Table控件

ImageMap控件

其它

教學基本內容備

授課內容提要

第2章服務器控件

(一)Page頁面

1.作用

容器:承載控件

2.重要屬性

IsPostBack

3.例子

Page.IsPostBack屬性

實驗:

添加一個Web窗體,在頁面上放一個按鈕和一個標簽(Label)控件,將Label的Text

屬性設置為0。

在Page_Load事件中寫代碼:

if(!Page.IsPostBack)

(

intx=int.Parse(Label2.Text)+1;

Label2.Text=x.ToStringO;

)

運行,不斷點擊按鈕。

改變后對比(去掉if判斷)

protectedvoidPage_Load(objectsender,EventArgse)

(

intx=int.Parse(Label2.Text)+1;

Label2.Text=x.ToString0;

)

運行,不斷點擊按鈕。

(二)Label控件

1.作用

顯示數(shù)據(jù)

2.重要屬性

BackColor

BorderStyle

BorderWidth

Text

EnableTheming

SkinlD

Height

Width

3.例子

//Label的例子:更改Text屬性和背景顏色

floatsalary=4100.2f;

if(salary>2000)

Label1.Text="您需要交稅〃;

else

Label1.Text="您不需要交稅”;

此處填寫更改顏色的代碼

Label1.BackColor=...

//Label的例子:更改Text屬性和背景顏色

(三)TextBox控件

1.作用

數(shù)據(jù)輸入控件

2.重要屬性和方法

BorderColor

BorderStyle

BorderWidth

Text

EnableTheming

SkinlD

TextMode->SingleLine^MultiLine>Password

Readonly

3.例子

TextBox的Readonly屬性

測試:

放一個文本框(TextBox),將其Readonly屬性設置為true,運行看結果如何?

問題:

在哪里能夠修改文本框的值呢?

參考答案:

一是在設計時通過屬性窗口修改Text屬性,二是在事件中通過代碼修改Text屬

(四)Button控件

L作用

響應用戶操作(鼠標和鍵盤事件)。

2.重要屬性和事件

BorderColor

BorderStyle

BorderWidth

Text

EnableTheming

SkinlD

CausesValidation一是否引發(fā)驗證

OnClientClick-〉指定單擊按鈕時執(zhí)行的客戶端腳本代碼函數(shù)名

UseSubmitBehavior->指示按鈕是否呈現(xiàn)為提交按鈕,默認為true

PostBackUrl->指定單擊此按鈕時回發(fā)到的頁面的URL,默認為本頁

在目標頁面中用Page.PreviousPage.FindControl()方法獲取數(shù)據(jù)

Click事件

3.例子

標簽、文本框、按鈕的綜合例子一模擬登錄程序

用戶名匚□用戶名5Z

密碼匚密碼T

知識點:

TextBox的TextMode屬性

If語句

彈出提示對話框(可以帶上耳機)

protectedvoidButtonl_Click(objectsender,EventArgse)

(

stringuid=〃a〃,pwd=〃123〃;

if((TextBoxl.Text==uid)&&(TextBox2.Text==pwd))

Response.Write(z,<script>alert(,用戶名和密碼正確!

)〈/script)“);

else

Response.Write(/z<scriptlanguage='javascript,>alertC用戶名

和密碼不正確!')</script〉“);

)

(五)HyperLink控件

L作用

超級鏈接

2.重要屬性

Text

NavigateUrl

ImageUrl

ToolTip

Target

SkinlD

3.例子

將NavigateUrl設置為default,aspx,然后再

⑴設置Target為空(即默認值),查看效果;

(2)設置Target為_blank,查看效果。

IlyperLink比<aX/a>標記是更方便。

(六)ImageButton控件

L作用

顯示圖片的按鈕

2.重要屬性

ImageUrl

ImageAlign

AlternateText

CausesValidation

PostBackUrl

OnClientClick

ToolTip

Click事件

3.例子

ImageButton的例子

BorderWidth為2

BorderColor為紅色

創(chuàng)建文件夾pic,存入圖片48.gif

ImageUrl=,,"/pic/48.gif〃

(六)LinkButton控件

L作用

顯示為超級鏈接的按鈕

2.重要屬性

Text

CausesValidation

PostBackUrl

OnClientClick

ToolTip

Click事件

(七)DropDownList控件

L作用

顯示數(shù)據(jù)

2.重要屬性

添加項目

聯(lián)動

AutoPostBack屬性

SelectedlndexChanged事件

3.例子

選擇吉林界面選擇四平

以及四平

2區(qū)界面

Page_Load

DropDownListlSelectedlndexChanged

DropDownList2_SelectedIndexChanged

AutoPostBack屬性

Buttonl_Click

練習:DropDownList年、月、日聯(lián)動

2010母年2刁月1v32008▼年23月1v日

3

6

7

8

C)l1n

l11

10

11l12

12l13

l14

l15

5l16

l17

6

7l10

l19

18R

19l21

20l22

21l23

22l24

23^

74l^

25節(jié)l27

l28

27l29

284l30

l3_1

(八)ListBox控件

L作用

顯示列表

2.重要屬性

Items

SelectionMode->Single>Multiple

添加新項目

刪除選中項目

查找是否有該項目

清空所有的項目

3.例子

a

sdfs1

ddd

學號

sdfsad

asdsa

似憧非憧

省份名稱.

:刪除選中項?|電全部清空|

Listltem類型

Listitem的兩個重要屬性:Text和Value

創(chuàng)建一個Listltem對象:

ListitemLil=newListitem();

Lil.Text="hello";

Lil.Value=“1”;

添加項目一判空、IsPostBack

問題:

每次點按鈕都添加了多項,如何解決?

解決方案:

判斷是否是第一次,是則添加項;否則什么也不做。

ListBoxl.Items.Add(newListItem(TextBoxl.Text));

添加時判斷是否為空

Trim()方法

邏輯:不為空添加新項目;

為空,彈出不允許為空的對話框。

刪除的業(yè)務邏輯

單項刪除

如果有選中的項目則刪除,否則提示“沒有項目被選中!”

多項刪除

從第一項到最后一項循環(huán),如果第i項被選中則刪除。

問題:

怎么知道一共有多少項?某項被選中怎么區(qū)分?

查找的業(yè)務邏輯

如果找到則選中項目,否則提示“沒有找到”

刪除代碼:

ListBoxl.Items.RemoveAt(i);〃根據(jù)索引刪除項

添加刪除確認對話框:

在PageLoad事件中,寫入

Buttonl.Attributes[<<onClick,,]=ujavascript:returnconfirm('你確認要刪

除嗎?');”,然后在Buttonl_OnClick事件中寫入您的執(zhí)行代碼。

問題:

多選刪除如何實現(xiàn)?

第一想法:

for(inti=0;i<ListBoxl.Items.Count;i++)

if(ListBoxl.Itemsfi].Selected)

(

Response.Write(i+”<br>〃);

ListBoxl.Items.RemoveAt(i);

}

問題:

連續(xù)的時候會少刪除其中一項,什么原因呢?

改進后的刪除代碼:

for(inti=ListBoxl.Items.Count-1;i>=0;i-)

〃改變策略:從后往前刪除

if(ListBoxl.Items[i].Selected)

(

Response.Write(i+〃<br>〃);

ListBoxl.Items.RemoveAt(i);

)

Response.Write(,z<script>alert(,刪除成功!’)</script〉”);

2006級岳曉同學的代碼:

for(inti=0;i<ListBoxl.Items.Count;i++)

if(ListBoxl.Items[i].Selected)

(

Response.Write(i+;

ListBoxl.Items.RemoveAt(i);

i二i-1;〃此處做了改進

}

查找方案:

查找要求:

如果有則選中該項,沒有則提示“沒有滿足條件的項目”。

ListBoxl.Items.FindByText(TextBoxl.Text)

ListBoxl.Items.IndexOf(item)

ListBoxl.Items[position].Selected

查找代碼:

Listitemitem=newListItem(TextBoxl.Text);

intposition=this.ListBoxl.Items.IndexOf(item);

if(position>=0)

(

ListBoxl.Items[position].Selected=true;

)

else

Response.Write(〃<script>alert('沒有滿足條件的項目!‘)〈/script)”);

清空所有項目

protectedvoidPage_Load(objectsender,EventArgse)

(

Button5.Attributes[,zonclickz,]=z/javascript:returnconfirm(5Areyousure

todeleteallitems?')”;

)

protectedvoidButton5_Click(objectsender,EventArgse)

(

ListBoxl.Items.Clear();

)

ListBox控件的常用屬性和方法

ListBoxl.Items.Count

ListBoxl.Items.Selectedlndex可讀寫(賦值或被賦值)

ListBoxl.Items[i].Text

ListBoxl.ItemsEi].Selected可讀寫(賦值或被賦值)

ListBoxl.Items.Add()

ListBoxl.Items.Insert()

ListBoxl.Items.RemoveAt()

ListBoxl.Items.Remove()

ListBoxl.Items.FindByText(TextBoxl.Text)

ListBoxl.Items.IndexOf(item)

(九)CheckBox控件

1.作用

可以多項選擇

2.重要屬性

屬性

Checked

Text

方法

3.例子

您的選擇是,喜歡旅游,不喜歡看書,喜歡打球,不喜歡編程,喜歡游泳.

選擇您的愛好

□旅游

回看書

口田

□編程

回游泳

回旅游

□看書

回打球

口編程

回游泳

1選揮完或1

CheckBox實現(xiàn)多項選擇

添加3個CheckBox和一個Button,內容如圖所示。

點擊“確定”按鈕,提示選擇的項目。

protectedvoidButtonl_Click(objectsender,EventArgse)

(

.〃〃

strings=;

if(CheckBox1.Checked)

s=s+"您喜歡"+CheckBoxl.Text;

if(CheckBox2.Checked)

s=s+“您喜歡〃+CheckBox2.Text;

if(CheckBox3.Checked)

s=s+〃您喜歡〃+CheckBox3.Text;

Response.Write(s);

)

選擇您的爰好

七文學

七音樂

1tl旅游

pg

(十)CheckBoxList控件

1.作用

相當于一組復選框

2.重要屬性

Items

3.例子

CheckBoxList實現(xiàn)多項選擇

protectedvoidButton2_Click(objectsender,EventArgse)

(

for(inti=0;i<CheckBoxListl.Items.Count;i++)

(

if(CheckBoxListl.Items[i].Selected)

Response.Write(CheckBoxListl.Items[i].Text);

}

)

(H-)RadioButton控件

1.作用

實現(xiàn)單項選擇(互斥)

2.重要屬性

Text

AutoPostBack

GroupName

3.例子

鼠標滑過的特效:

鼠標滑過時文本框內容被選中

TextBoxl.Attributes.Add("onMouseOver","this,focus();this,select();;

鼠標點擊時文本框內容被清空

TextBoxl.Attributes.Add("onclick","this.value=''");

(十二)Rad沁ButtonList控件

1.作用

相當于一組RadioButton

2.重要屬性

Items

3.例子

輸入“1964”,點擊“查看”按鈕

點擊“老年”,效果如下:

Of#頜而年齡在60-120三回

(⑥中年]

oo青年

Oo年

?年

O年

1964

出生年份幽

O10W

?!?萬以下

010-20萬

010-20萬

。20萬以上

。20萬以上

0蔽

處理屬性和事件

OText

OAutoPostBack

OGroupName

/protectedvoidPage_Load(objectsender,EventArgse){}

/protectedvoidButtonl_Click(objectsender,EventArgse){}

/protectedvoidRadioButtonl_CheckedChanged(objectsender,EventArgs

e){}

protectedvoidPage_Load(objectsender,EventArgse)

(

TextBoxl.Attributes.Add(〃onMouseOver〃,

“this,focus();this,select();〃);

//TextBoxl.Attributes.Add(,zonMouseOverz,,

“this,focus();this,select();this,value=''〃);

//TextBoxl.Attributes.Add(〃onclick〃,“this.value=,'〃);

)

protectedvoidRadioButtonl_CheckedChanged(objectsender,EventArgse)

(

Response.Write(〃你的年齡在15-30之間〃);

}

(十三)Panel控件

1.作用

容器:相當于組

2.重要屬性

GroupingText

3.例子

書上109頁例子不講,直接講“登錄模擬_Panel控件”的例子。

(十四)Table控件

1.作用

容器,用于布局

2.重要屬性

HorizontalAlign

BackColor

BorderColor

BorderStyle

BorderWidth

ForeColor

GridLines

Font-Bold

Height

Width

3.組成(結合下圖說明)

姓名成績

黃牘英|

10082紀曉嵐

4.例子

書上113頁例子的升級,講“動態(tài)創(chuàng)建表格并填充內容參考代碼”的例子。

簡單總結:Table和Panel實際可以互相嵌套,只是一般最外層是Table.

(十五)BulletedList控件

1.作用

為列表項增加項目符號

2.重要屬性和方法

Items屬性

Items[i].Text屬性

Insert和Add方法

3.例子

書上116頁例子加工,講''動態(tài)添加項目和點擊文字的即時變化”的例子。

(十六)ImageMap控件

1.作用

相當于把一幅圖片虛擬分割成多個區(qū)域。

2.重要屬性和事件

ImageUrl屬性

HotSpotMode屬性

Click事件

3.熱點區(qū)域的劃分

I?X軸

新旗搜狐

雅虎網(wǎng)易

|丁PAllt.

,,丫軸

4.例子

書上117頁例子強力改造,形成了“網(wǎng)易、搜狐、雅虎、新浪網(wǎng)站導航”的例子。

三、小結

1.本章需要掌握控件的主要屬性、方法和事件,利用它們組合形成特定的功能。

2.書上的文字內容不容易理解,通過例子學習更方便,然后再回頭。(循環(huán)反復)

四、作業(yè)

將書上的例子做一遍

五、教學后記

1.服務器控件的作用:

實現(xiàn)用戶的交互,提供操作的接口。

2.教材處理:

書上的例子能夠滿足一定的需求,但是還不夠。(Butthat,snotenough)需要

老師自己重新創(chuàng)造例子。(Doityourself)書上的例子有的課上不做了;有的課上讓

學生自己做,然后演示;有的很好的、有一定難度的老師組織一起踐行。

3.功能驅動法:

首先展示系統(tǒng)的功能(即老師演示程序),讓學生有一個直觀感受,“知道自己去

哪里”。

4.面向過程與面向對象結合

實際本章體現(xiàn)了堆積木原則,也是利用三種常見的程序結構(面向過程),而控件

的屬性、方法則完全是面向對象的思想。

5.學生也很有創(chuàng)造力

實現(xiàn)ListBox多選刪除時,岳曉同學與老師的思路不同,同樣可以完成刪除。

2006級岳曉同學的代碼:

for(inti=0;i<ListBoxl.Items.Count;i++)

if(ListBoxl.Items[i].Selected)

(

Response.Write(i+”<br>");

ListBoxl.Items.RemoveAt(i);

此處做了改進

)

六、參考資料

《ASP.NET數(shù)據(jù)庫開發(fā)入門與提高》(清華大學出版社)

《VisualC#2005編程實例精粹》(中國水利水電出版社)

《VisualC#.NET可視化程序設計》(清華大學出版社)

《ASP.NET動態(tài)網(wǎng)站開發(fā)基礎教程(C#篇)》(清華大學出版社)

授課題目第3章驗證控件

授課類型理論課+實驗課

教學方法講授、實例驅動教學手段多媒體教學

授課時間學時分配5

掌握表單驗證控件、比較驗證控件、范圍驗證控件、正則驗證控件、

教學目的自定義邏輯驗證控件、驗證組控件的使用。

框架知識

教學重點頁面創(chuàng)建

網(wǎng)站包括的基本要素

教學難點框架知識

其它

教學基本內容

ASP.NET提供了強大的驗證控件,它可以驗證服務器控件中用戶的輸入,并在驗

證失敗的情況下顯示一條自定義錯誤消息。驗證控件直接在客戶端執(zhí)行,用戶提交后

執(zhí)行相應的驗證無需使用服務器端進行驗證操作,從而減少了服務器與客戶端之間的

往返過程。

3.1表單驗證控件(RequiredFieldValidator)

在實際的應用中,如在用戶填寫表單時,有一些項目是必填項,例如用戶名和密碼。

在傳統(tǒng)的ASP中,當用戶填寫表單后,頁面需要被發(fā)送到服務器并判斷表單中的某項

HTML控件的值是否為空,如果為空,則返回錯誤信息。在ASP.NET中,系統(tǒng)提供了

RequiredFieldValidator驗證控件進行驗證。使用RequiredFieldVaiidator控件能夠指定某

個用戶在特定的控件中必須提供相應的信息,如果不填寫相應的信息,

RequiredFieldValidator控件就會提示錯誤信息,RequiredFieldValidator控件示例代碼如

下所示。

<body>

<formid="formr,runat="serverM>

<div>

姓名:vasp:TextBoxID="TextBox1Hrunat=Hserver,'></asp:TextBox>

<asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="serverH

ControlToValidate=,,TextBox1"ErrorMessage=n必填字段不能為空

"></asp:RequiredFieldValidator>

<br/>

密碼:vasp:TextBoxID="TextBox2"runat="server"></asp:TextBox>

<br/>

<asp:ButtonID="Button1"runat="server"Text='Button"/>

<br/>

</div>

</form>

</body>

在進行驗證時,RequiredFieldValidator控件必須綁定一個服務器控件,在上述代碼中,

驗證控件RequiredFieldValidator控件的服務器控件綁定為TextBoxl,當TextBox1中的

值為空時,則會提示自定義錯誤信息“必填字段不能為空”,如圖3-53所示。

。無標題頁-findovsInternetExplorer

-——3周|X|網(wǎng)L:二SewhP▼

收媒夾號無標題頁||分▼&/?

T]

姓名:|必填字段不能

為空

密碼:|

Button|

_____________________.

I~廠|~廠街記—I?(呆護植式:鬃用|%125%▼/

圖3-53RequiredFieldValidator驗證控件

當姓名選項未填寫時,會提示必填字段不能為空,并且該驗證在客戶端執(zhí)行。當發(fā)生

此錯誤時,用戶會立即看到該錯誤提示而不會立即進行頁面提交,當用戶填寫完成并

再次單擊按鈕控件時,頁面才會向服務器提交。

3.2比較驗證控件(CompareValidator)

比較驗證控件對照特定的數(shù)據(jù)類型來驗證用戶的輸入。因為當用戶輸入用戶信息時,

難免會輸入錯誤信息“如當需要了解用戶的生日時,用戶很可能輸入了其他的字符串。

CompareValidator比較驗證控件能夠比較控件中的值是否符合開發(fā)人員的需要。

CompareValidator控件的特有屬性如下所示:

□ControlToCompare:以字符串形式輸入的表達式。要與另一控件的值進行比較。

□Operator:耍使用的比較。

□Type:要比較兩個值的數(shù)據(jù)類型。

□VaiueToCompare:以字符串形式輸入的表達式。

當使用CompareValidator控件時,可以方便的判斷用戶是否正確輸入,示例代碼如下

所示。

<body>

<formid="form1Hrunat=',server,,>

<div>

請輸入生日:

<asp:TextBoxID="TextBox1"runat="server"x/asp:TextBox>

<br/>

畢業(yè)日期:

<asp:TextBoxID="TextBox2"runat="serverH></asp:TextBox>

<asp:CompareValidatorID="CompareValidator1"runat="serverH

ControlToCompare="TextBox2"ControlToValidate="TextBox1”

CulturelnvariantValues="True"EirorMessage="fS入格式錯誤!請改正!"

Operator="GreaterThanM

Type="Dateu>

</asp:CompareValidator>

<br/>

<asp:ButtonID="Button1"runat=Hserver"Text="Button"/>

<br/>

</div>

</form>

</body>

上述代碼判斷TextBoxl的輸入的格式是否正確,當輸入的格式錯誤時,會提示錯誤,

如圖3-54所示。

圖3-54CompareValidator驗證控件

CompareValidator驗證控件不僅能夠驗證輸入的格式是否正確,還可以驗證兩個控件之

間的值是否相等。如果兩個控件之間的值不相等,CompareValidator驗證控件同樣會將

自定義錯誤信息呈現(xiàn)在用戶的客戶端瀏覽器中。

3.3范圍驗證控件(RangeValidator)

范圍驗證控件(RangeValidator)可以檢查用戶的輸入是否在指定的上限與下限之間。

通常情況下用于檢查數(shù)字、日期、貨幣等。范圍驗證控件(RangeValidator)控件的常

用屬性如下所示。

□MinimumValue:指定有效范圍的最小值。

□MaximumValue:指定有效范圍的最大值。

□Type:指定要比較的值的數(shù)據(jù)類型。

通常情況下,為了控制用戶輸入的范圍,可以使用該控件。當輸入用戶的生日時,今

年是2011年,那么用戶就不應該輸入2012年,同樣基本上沒有人的壽命會超過100,

所以對輸入的日期的下限也需要進行規(guī)定,示例代碼如下所示。

<div>

請輸入生H:<asp:TextBoxID="TextBox1"runat=Mserver"></asp:TextBox>

<asp:RangeValidatorID=nRangeValidator1"runat=nserver"

ControlToValidate="TextBox1"ErrorMessage="超出規(guī)定范圍,請重新填寫"

MaximumValue="2012/1/1MMinimumValue=H1912/1/1'*Type="Date">

</asp:RangeValidator>

<br/>

<asp:ButtonID="Button1"runat='server,'Text="Button"/>

</div>

上述代碼將MinimumValue屬性值設置為1912/1/1,并能將MaximumValue的值設置為

2012/1/1,當用戶的日期低于最小值或高于最高值時,則提示錯誤,如圖3-55所示。

圖3-55RangeValidator驗證控件

注意:RangeValidator險證控件在進行控件的值的范圍的設定時,其范圍不僅僅可

以是一個整數(shù)值,同樣還能夠是時間、日期等值。

3.4正則驗證控件(RegularExpressionValidator)

在上述控件中,雖然能夠實現(xiàn)一些驗證,但是驗證的能力是有限的,例如在驗證的過

程中,只能驗證是否是數(shù)字,或者是否是日期。也可能在驗證時,只能驗證一定范圍

內的數(shù)值,雖然這些控件提供了一些驗證功能,但卻限制了開發(fā)人員進行自定義驗證

和錯誤信息的開發(fā)。為實現(xiàn)一個驗證,很可能需要多個控件同時搭配使用。

正則驗證控件(RegularExpressionValidator)就解決了這個問題,正則驗證控件的功能

非常的強大,它用于確定輸入的控件的值是否與某個正則表達式所定義的模式相匹配,

如電子郵件、電話號碼以及序列號等。

正則驗證控件(RegularExpressionValidator)常用的屬性是ValidationExpression,它用

來指定用于驗證的輸入控件的正則表達式??蛻舳说恼齽t表達式驗證語法和服務端的

正則表達式驗證語法不同,因為在客戶端使用的是JSript正則表達式語法,而在服務

器端使用的是Regex類提供的正則表達式語法。使用正則表達式能夠實現(xiàn)強大字符串

的匹配并驗證用戶的輸入的格式是否正確,系統(tǒng)提供了一些常用的正則表達式,開發(fā)

人員能夠選擇相應的選項進行規(guī)則篩選,如圖3-56所示。

圖3-56系統(tǒng)提供的正則表達式

當選擇了正則表達式后,系統(tǒng)自動生成的HTML代碼如下所示。

<asp:RegularExpressionValidatorID="RegularExpressionValidator1"runat="server"

ControlToValidate="TextBoxI"ErrorMessage=''正則不匹配,請重新輸入!”

ValidationExpression="\d{17}[\d|X]|\d{15}">

</asp:RegularExpressionValidator>

運行后當用戶單擊按鈕控件時,如果輸入的信息與相應的正則表達式不匹配,則會提

示錯誤信息,如圖3-57所示。

圖3-57RegularExpressionValidator驗證控件

同樣,開發(fā)人員也可以自定義正則表達式來規(guī)范用戶的輸入。使用正則表達式能夠加

快驗證速度并在字符串中快速匹配,而另一方面,使用正則表達式能夠減少復雜的應

用程序的功能開發(fā)和實現(xiàn)。

注意:在用戶輸入為空時,其他的驗證控件都會驗證通過。所以,在驗證控件的

使用中,通常需要同表單臉證控件(RequiredFieklValidator)一起使用。

3.5自定義邏輯驗證控件(CustomValidator)

自定義邏輯驗證控件(CustomValidator)允許使用自定義的驗證邏輯創(chuàng)建驗證控件。例

如,可以創(chuàng)建一個驗證控件判斷用戶輸入的是否包含號,示例代碼如下所示。

protectedvoidCustomValidator1_ServerValidate(objectsource,

ServerValidateEventArgsargs)

{

args.lsValid=args.Value.ToString().Contains("J);〃設置驗證程序,并

返回布爾值

protectedvoidButton1_Click(objectsender,EventArgse)//用戶自定義驗證

{

if(Page.lsValid)〃判斷是否驗證通

(

Labeh.Text="驗證通過";//輸出驗證通過

else

{

Labeh.Text="輸入格式錯誤”;〃提交失敗信息

)

)

上述代碼不僅使用了驗證控件自身的驗證,也使用了用戶自定義驗證,運行結果如圖

3-58所示。

Q無標鷺頁-YindovsInternetExplorer

▼|^g'f''/loc.三]園勿iXgveSearchP,

收藏夾卷無標題頁||杭?國,二卷,頁面(PA安全6),”

一□

請輸入浮點型:[77884U輸入格式錯

輸入格式錯誤!請重新輸入!

Button|

,d

廠廠廠廠廠廠廠底五不.|保護植式:赫用?1升,/

圖3-58CustomValidator驗證控件

從CustomValidator驗證控件的驗證代碼可以看出,CustomValidator驗證控件可以在服

務器上執(zhí)行驗證檢查。如果要創(chuàng)建服務器端的驗證函數(shù),則處理CustomValidator控件

的ServerValidate事件。使用傳入的ServerValidateEventArgs的對象的IsVaiid字段來設

置是否通過驗證。

而CustomValidator控件同樣也可以在客戶端實現(xiàn),該驗證函數(shù)可用VBScript或Jscript

來實現(xiàn),而在CustomValidator控件中需要使用ClientValidationFunction屬性指定與

CustomValidator控件相關的客戶端驗證腳本的函數(shù)名稱進行控件中的值的驗證。

3.6驗證組控件(ValidationSummary)

驗證組控件(ValidationSummary)能夠對同一頁面的多個控件進行驗證。同時,驗證

組控件(ValidationSummary)通過ErrorMessage屬性為頁面上的每個驗證控件顯式錯

誤信息、。驗證組控件(ValidationSummary)的常用屬性如下所示。

□DisplayMode:摘要可顯示為列表,項目符號列表或單個段落。

□HeaderText:標題部分指定一個自定義標題。

□ShowMessageBox:是否在消息框中顯示摘要。

□ShowSummary:控制是顯示還是隱藏ValidationSummary控件。

驗證控件能夠顯示頁面的多個控件產(chǎn)生的錯誤,示例代碼如下所示。

<body>

<formid="form1'*runat="server',>

<div>

姓名:

<asp:TextBoxID="TextBox1"runat="serverH></asp:TextBox>

<asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat=nserver"

ControlToValidate='*TextBox1"ErrorMessage="姓名為必填項",

</asp:RequiredFieldValidator>

<br/>

身份證:

<asp:TextBoxID="TextBox2"runat="serverHx/asp:TextBox>

<asp:RegularExpressionValidatorID="RegularExpressionValidator1"runat="server"

ControlToValidate=',TextBox1"ErrorMessage="身份證號碼錯誤”

ValidationExpression="\d{17}[\d|X]|\d{15}nx/asp:RegularExpressionValidator>

<br/>

<asp:ButtonID="Button1Hrunat='server"Text="Button"/>

<asp:ValidationSummaryID="ValidationSummary1"runat="serverH/>

</div>

</form>

</body>

運行結果如圖3-59所示。

圖3-59Validationsummary驗證控件

當有多個錯誤發(fā)生時,Validationsummary控件能夠捕獲多個驗證錯誤并呈現(xiàn)給用戶,

這樣就避免了一個表單需要多個驗證時需要使用多個驗證控件進行綁定,使用

ValidationSummary控件就無需為每個需要驗證的控件進行綁定。

授課題目第4章常用的內置對象

授課類型理論課+實驗課

教學方法講授、實例驅動教學手段多媒體教學

授課時間學時分配10

通過本次課程的學習,主要掌握以下內置對象的用法:

5.1Response對象

5.2Server對象

教學目的

5.3Session對象

5.4Application對象

5.5Request對象

Respon

溫馨提示

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

最新文檔

評論

0/150

提交評論