Web應(yīng)用程序基礎(chǔ)_第1頁(yè)
Web應(yīng)用程序基礎(chǔ)_第2頁(yè)
Web應(yīng)用程序基礎(chǔ)_第3頁(yè)
Web應(yīng)用程序基礎(chǔ)_第4頁(yè)
Web應(yīng)用程序基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章第9章Web應(yīng)用程序根底主講:鄭殿君VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章本章要點(diǎn)ASP.NET的特點(diǎn)。ASP.NET的對(duì)象簡(jiǎn)介。ASP.NET中的常用控件。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章技能目標(biāo)掌握ASP.NET各內(nèi)置對(duì)象的用法。掌握ASP.NET常用控件的使用方法。利用ASP.NET控件制作簡(jiǎn)單的網(wǎng)站。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.1工作場(chǎng)景導(dǎo)入一般網(wǎng)站中都有留言板功能,特別是在論壇網(wǎng)站。這里我們建立簡(jiǎn)單留言板。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章【引導(dǎo)問(wèn)題】ASP.NET是什么,如何建立網(wǎng)站。ASP.NET內(nèi)置對(duì)象有哪些,具體如何使用?ASP.NET控件有哪些?如何使用?VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.2ASP.NET概述ASP.NET是2000年微軟推出的一種功能強(qiáng)大的效勞器端腳本編程環(huán)境,它是一種建立動(dòng)態(tài)Web應(yīng)用程序的技術(shù)。是.NET框架的一局部,可以使用任何.NET兼容的語(yǔ)言〔如VisualBasic.NET、C#、J#等語(yǔ)言〕來(lái)編寫(xiě)ASP.NET程序,ASP.NET在結(jié)構(gòu)上與前面的版本大不相同,它幾乎是完全基于組件和模塊化的。2000年正式發(fā)布,2003年微軟發(fā)布ASP.NET1.1,該版本的發(fā)布激發(fā)了Web應(yīng)用程序開(kāi)發(fā)人員對(duì)ASP.NET的興趣。在2005年,微軟公司正式發(fā)布了功能更為強(qiáng)大、使用更為簡(jiǎn)單的ASP.NET2.0。在2023年2月微軟公司發(fā)布的ASP.NET3.5,在技術(shù)方面增加了LINQ、AJAX,在使用上增加了方便、實(shí)用的新特性。Web應(yīng)用程序的開(kāi)發(fā)人員使用這個(gè)開(kāi)發(fā)環(huán)境可以實(shí)現(xiàn)更加模塊化的、功能更加強(qiáng)大的應(yīng)用程序。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章在以前使用ASP進(jìn)行程序設(shè)計(jì)的時(shí)候,由于ASP使用的是腳本語(yǔ)言,所有代碼都嵌入到HTML代碼中,所以當(dāng)編制功能復(fù)雜的網(wǎng)頁(yè)時(shí),就需要編寫(xiě)大量的代碼,而且會(huì)導(dǎo)致程序代碼的可讀性差的問(wèn)題。另外,由于所有的代碼都是解釋執(zhí)行的,所以相對(duì)來(lái)講,運(yùn)行速度比較慢,而且無(wú)法有效地利用機(jī)器硬件的各種性能。ASP.NET與ASP相比效率更高,提供了更好的可重用性,對(duì)于實(shí)現(xiàn)同樣功能的程序,ASP.NET使用的代碼比ASP要少得多。ASP.NET采用全新的編程環(huán)境,代表了技術(shù)開(kāi)展的主流方向。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.3ASP.NET對(duì)象簡(jiǎn)介ASP.NET定義了大量的內(nèi)置對(duì)象,這些對(duì)象的存在為了符合ASP.NET力求的一項(xiàng)原那么——提高網(wǎng)絡(luò)程序的開(kāi)發(fā)效率。這些根本對(duì)象是程序設(shè)計(jì)中最頻繁使用的元素,它通過(guò)向用戶(hù)提供根本的請(qǐng)求、響應(yīng)、會(huì)話(huà)等處理功能實(shí)現(xiàn)了ASP.NET的絕大多數(shù)功能。這些對(duì)象都是全局對(duì)象,不必事先聲明就可以直接使用。每個(gè)對(duì)象都有各自的屬性、方法、集合或事件。ASP內(nèi)置的對(duì)象主要有6個(gè),分別是Request、Page、Application、Session、Response和Server對(duì)象。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Response對(duì)象Response對(duì)象用于向客戶(hù)端瀏覽器發(fā)送數(shù)據(jù),主要用來(lái)封裝頁(yè)面操作的HTTP響應(yīng)信息。用戶(hù)可以使用該對(duì)象將效勞器的數(shù)據(jù)以HTML的格式發(fā)送到用戶(hù)端的瀏覽器,它與Request組成了一對(duì)接收、發(fā)送數(shù)據(jù)的對(duì)象,這也是實(shí)現(xiàn)動(dòng)態(tài)的根底。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Request對(duì)象Request對(duì)象可稱(chēng)之為請(qǐng)求對(duì)象,其功能主要是從客戶(hù)端得到數(shù)據(jù)。當(dāng)用戶(hù)翻開(kāi)Web瀏覽器,并從網(wǎng)站請(qǐng)求Web頁(yè)時(shí),Web效勞器就接受了一個(gè)HTTP請(qǐng)求,此請(qǐng)求包含用戶(hù)、用戶(hù)的計(jì)算機(jī)、頁(yè)面以及瀏覽器的相關(guān)消息,這些信息將被完整的封裝起來(lái),并在Request對(duì)象中利用它們。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Page對(duì)象Page對(duì)象對(duì)應(yīng)WebForm窗體,主要用來(lái)設(shè)置與網(wǎng)頁(yè)有關(guān)的各種屬性、方法和事件。Page類(lèi)用于表示一個(gè).aspx文件,也稱(chēng)為Web窗體頁(yè)

ASP.NET分析WebForm窗體文件代碼,產(chǎn)生以窗體文件名為名稱(chēng)的類(lèi),該類(lèi)是的派生類(lèi)。每個(gè)頁(yè)面都派生自Page類(lèi),并繼承這個(gè)類(lèi)公開(kāi)的所有方法和屬性。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Application對(duì)象Application對(duì)象通常存儲(chǔ)網(wǎng)站的一些公共信息,在效勞器內(nèi)存中存戶(hù)數(shù)量較少又獨(dú)立于客戶(hù)請(qǐng)求的數(shù)據(jù)。特點(diǎn)是訪(fǎng)問(wèn)速度快,而且主要應(yīng)用程序不停止它就一直存在。該對(duì)象不但可以在給定的應(yīng)用程序的所有用戶(hù)之間共享信息以及在效勞器運(yùn)行期間持久地保存數(shù)據(jù),而且Application對(duì)象還有控制訪(fǎng)問(wèn)應(yīng)用層數(shù)據(jù)的方法和可用于在應(yīng)用程序啟動(dòng)和停止時(shí)觸發(fā)過(guò)程的事件。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Session對(duì)象Session對(duì)象與Application對(duì)象都是ASP.NET文件公用的對(duì)象,但是所有的連接用戶(hù)只公用一個(gè)Application對(duì)象,而每個(gè)連接的用戶(hù)都擁有一個(gè)自己的Session對(duì)象,這個(gè)Session對(duì)象用于在用戶(hù)訪(fǎng)問(wèn)的各頁(yè)面之間傳遞信息。Session對(duì)象可以為每個(gè)用戶(hù)的會(huì)話(huà)存儲(chǔ)信息,默認(rèn)的時(shí)間為20分鐘,用戶(hù)關(guān)閉網(wǎng)頁(yè)后自動(dòng)結(jié)束。Session的英文意思為“會(huì)話(huà)〞,在Web系統(tǒng)中,具體是指用戶(hù)在瀏覽Web系統(tǒng)時(shí),從進(jìn)入網(wǎng)站到瀏覽器關(guān)閉所經(jīng)過(guò)的這段交往時(shí)間。在Session中注冊(cè)變量可以在這段時(shí)間內(nèi)保存其值,并可以在各個(gè)頁(yè)面中使用。因?yàn)檫@種特點(diǎn),Session常用于用戶(hù)在頁(yè)面之間進(jìn)行參數(shù)傳遞、用戶(hù)身份認(rèn)證、記錄程序狀態(tài)等。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Server對(duì)象Server對(duì)象是最根本的ASP.NET對(duì)象,它派生自HttpServerUtility類(lèi),提供了效勞器端的根本屬性與方法??梢酝ㄟ^(guò)Page對(duì)象的Server屬性獲取對(duì)應(yīng)的Server對(duì)象,即Page.Server。通常Page可省略,直接使用Server進(jìn)行操作。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.4ASP.NET控件簡(jiǎn)介ASP.NET控件分為4類(lèi),分別為HTML普通控件、HTML效勞器控件、Web效勞器控件以及自定義控件。HTML普通控件僅僅只是HTML標(biāo)記,假設(shè)嚴(yán)格定義,那么不屬于控件,在不與Script腳本配合的情況下,僅僅有屬性,不具有對(duì)象以及事件和方法的處理。HTML效勞器控件在命名空間中定義。它們由普通HTML控件轉(zhuǎn)換而來(lái),其呈現(xiàn)的輸出與普通HTML控件根本上一致。默認(rèn)情況下,效勞器端很難控制Web頁(yè)面上的普通的HTML控件,但是通過(guò)將普通的HTML控件轉(zhuǎn)換為HTML效勞器控件,開(kāi)發(fā)人員就能輕而易舉地對(duì)這些控件進(jìn)行編程。Web效勞器控件是基于更加抽象的、具有更強(qiáng)的面向?qū)ο筇卣鞯脑O(shè)計(jì)模型,它提供了比HTML效勞器種類(lèi)更多、功能更強(qiáng)大的控件集合。它屬于命名空間,所有的ASP.NET效勞器控件類(lèi)都是從該命名空間的基類(lèi)WebControl派生的。它們比HTML效勞器控件具有更加豐富的功能,并且更加抽象。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.4.1HTML效勞器控件HTML效勞器控件是由普通HTML控件轉(zhuǎn)換而來(lái)的,其呈現(xiàn)的輸出根本上與普通HTML控件一致。在轉(zhuǎn)化時(shí),只需要做兩步操作即可:第一步在普通HTML控件特性中添加“runat=server〞屬性,然后設(shè)置其ID屬性,當(dāng)普通HTML控件轉(zhuǎn)化為HTML效勞器空間后,即可通過(guò)編程來(lái)控制它們。每個(gè)HTML效勞器控件一般都要有Type、Id、Value這3個(gè)屬性,其中Type屬性表示輸入控件的類(lèi)型,Id屬性是作為這個(gè)控件的標(biāo)識(shí),Value屬性是獲得或者設(shè)置輸入控件的內(nèi)容。還要注意的是,必須保證HTML效勞器控件的HTML標(biāo)記被包括在<form></form>之間,而且這個(gè)<form>標(biāo)記必須有“runat=server〞屬性。當(dāng)然假設(shè)在程序代碼里面不會(huì)訪(fǎng)問(wèn)到這個(gè)<form>標(biāo)記,可以不給它賦上Id屬性。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Web效勞器控件主要特點(diǎn):效勞器端控件不但功能更強(qiáng)大,而且和編制Windows應(yīng)用程序中的控件使用方法根本一致,因此學(xué)習(xí)更方便。本書(shū)的所有例子都使用Web效勞器端控件。Web效勞器控件具有更好的面向?qū)ο筇匦?,所有控件的通用屬性都在WebControl基類(lèi)中實(shí)現(xiàn),具有高度的一致性,從而簡(jiǎn)化了編程人員的工作,減少了錯(cuò)誤。WebServer控件可以自動(dòng)地檢測(cè)客戶(hù)端瀏覽器的類(lèi)型和功能,生成相應(yīng)的HTML代碼,從而最大程度地發(fā)揮瀏覽器的功能。Web效勞器控件還具有數(shù)據(jù)綁定特性,所有屬性都可以進(jìn)行數(shù)據(jù)綁定,某些控件甚至還可以向數(shù)據(jù)源提交數(shù)據(jù)。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Label控件Label控件用如下方法定義:<asp:Labelid="label1"font-size="14"font-bold="true"forecolor="red"Text="標(biāo)簽控件"runat=server></asp:Label>或者<asp:Labelid="Label1"font-size="14"font-bold="true"forecolor="red"runat=server>VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章TextBox控件Label控件用如下方法定義:<asp:TextBoxid="textBox1"runat=server></asp:TextBox>VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Button、LinkButton和ImageButton控件Button控件:Text為按鈕的標(biāo)題,單擊事件為:Click。LinkButton控件:為超級(jí)鏈接形式的按鈕,Text為按鈕超級(jí)鏈接形式的標(biāo)題,單擊事件為Click。使用方法同Button控件,可為其增加單擊事件Click的事件函數(shù)。ImageButton控件:有些按鈕需要在按鈕上增加圖案,例如工具條中的按鈕,可以使用ImageButton控件。屬性ImageUrl為圖案的路徑,一般最好和網(wǎng)頁(yè)文件放在同一個(gè)目錄下,此時(shí),控件定義如下:<asp:ImageButtonid="ImageButton1"runat="server"ImageUrl="t1.bmp"></asp:ImageButton使用方法同Button控件,可為其增加單擊事件Click的事件函數(shù)。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章CheckBox和CheckBoxList控件CheckBoxList控件可以創(chuàng)立一組假設(shè)干CheckBox按鈕,并且這些按鈕有相同的性質(zhì)。這些CheckBox按鈕可以為多項(xiàng)選擇、不選或都選,能用來(lái)表示一些可共存的特性,例如一個(gè)人的興趣。下面例子在窗口中加一Label控件用來(lái)顯示某人的愛(ài)好,增加兩個(gè)CheckBox按鈕,一個(gè)代表是否愛(ài)好讀書(shū),一個(gè)代表是否愛(ài)好打球,每當(dāng)用鼠標(biāo)單擊CheckBox按鈕選擇或不選擇愛(ài)好,Label控件顯示實(shí)際的愛(ài)好。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章RadioButton和RadioButtonList控件有一類(lèi)特性是互斥的,例如性別男女,選擇這類(lèi)特性可用RadioButtonList控件,該控件的最大特點(diǎn)是它有多個(gè)按鈕,但只能選其中的一個(gè)按鈕,下面是一個(gè)例子,兩個(gè)單項(xiàng)選擇按鈕分別為男和女,用Label控件顯示選擇的的結(jié)果。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Image控件Image控件用來(lái)顯示圖像,其屬性AlternateText為字符串類(lèi)型,如果圖形不被正確顯示,那么顯示此字符串。屬性ImageAlign為圖形對(duì)齊方式。ImageUrl為圖形的URL地址。下例,增加3個(gè)單項(xiàng)選擇按鈕,根據(jù)單項(xiàng)選擇按鈕那個(gè)被選中,顯示不同的圖像。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章HyperLink控件HyperLink控件是超級(jí)鏈接控件,用來(lái)從一個(gè)網(wǎng)頁(yè)定向到另一個(gè)網(wǎng)頁(yè)。屬性Text為設(shè)置超級(jí)鏈接的文字。也可以使用圖形完成超級(jí)鏈接,ImageUrl為圖形的URL。屬性NavigateUrl是定向到另一個(gè)網(wǎng)頁(yè)的URL。屬性Target=_blank,翻開(kāi)一個(gè)新窗口,否那么在原窗口翻開(kāi)。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章Table、TableCell和TableRow控件這是一個(gè)表格控件,創(chuàng)立表格的具體步驟如下:創(chuàng)立一個(gè)Web應(yīng)用程序框架,選擇菜單命令建立一個(gè)新空白窗體。放工具箱的Table控件到窗體。單擊屬性Row后的按鈕,出現(xiàn)選擇TableRow集合編輯器對(duì)話(huà)框,單擊添加按鈕,增加兩行。選擇第0個(gè)TableRow,單擊屬性Cell后的按鈕,出現(xiàn)選擇TableCell集合編輯器對(duì)話(huà)框,單擊添加按鈕,增加三列。修改每列的屬性Text,分別為:課程總論、剛體靜力學(xué)、彈性靜力學(xué)。選擇第1個(gè)TableRow,單擊屬性Cell后的按鈕,出現(xiàn)選擇TableCell集合編輯器對(duì)話(huà)框,單擊添加按鈕,增加三列。修改每列的屬性Text,分別為:雅舍、孩子、音樂(lè)。運(yùn)行程序可以看到兩行三列的表。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章DrowDownList控件這是一個(gè)下拉列表控件,創(chuàng)立下拉列表的具體步驟如下:創(chuàng)立一個(gè)Web應(yīng)用程序框架,選擇菜單命令建立一個(gè)新空白窗體。放工具箱的DrowDownList控件到窗體。單擊屬性Items后的按鈕,出現(xiàn)選擇ListItem集合編輯器對(duì)話(huà)框,單擊添加按鈕,增加三項(xiàng)。修改每項(xiàng)的屬性Text,分別為:課程總論、剛體靜力學(xué)、彈性靜力學(xué)。放工具箱的Label控件到窗體,id=Label1。放工具箱的Button控件到窗體,為單擊確定按鈕事件(Click)函數(shù)增加語(yǔ)句(雙擊Click事件):privatevoidButton1_Click(objectsender,System.EventArgse) { Label1.Text=DropDownList1.SelectedItem.Text; }VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.4.3ASP.Net控件數(shù)據(jù)綁定在ASP.NET中,數(shù)據(jù)的顯示可以通過(guò)數(shù)據(jù)源控件和數(shù)據(jù)綁定控件實(shí)現(xiàn)。數(shù)據(jù)源控件提供數(shù)據(jù),數(shù)據(jù)綁定控件負(fù)責(zé)數(shù)據(jù)的顯示。常用的數(shù)據(jù)綁定控件有:GridView、DataList控件和DetailsView控件,常用的數(shù)據(jù)源控件有SqlDataSource、ObjectDataSource和XmlDataSource等。這里我們主要詳細(xì)講解下數(shù)據(jù)綁定控件GridView和數(shù)據(jù)源控件SqlDataSource控件的使用。其他控件的使用讀者可以參閱MSDN使用。GridView控件是一種復(fù)合型的控件,它使用表格的形式實(shí)現(xiàn)多列數(shù)據(jù)的顯示。VisualC#2023程序設(shè)計(jì)與應(yīng)用教程第9章9.4.4數(shù)據(jù)驗(yàn)證控件數(shù)據(jù)驗(yàn)證控件包括定義外觀(guān)、驗(yàn)證程序的顯示方式、靜態(tài)或者動(dòng)態(tài)顯示、自定義效勞器端驗(yàn)證、自定義客戶(hù)端的驗(yàn)證等。VisualC#20

溫馨提示

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

評(píng)論

0/150

提交評(píng)論