第6章 ASP NET內(nèi)部對(duì)象_第1頁(yè)
第6章 ASP NET內(nèi)部對(duì)象_第2頁(yè)
第6章 ASP NET內(nèi)部對(duì)象_第3頁(yè)
第6章 ASP NET內(nèi)部對(duì)象_第4頁(yè)
第6章 ASP NET內(nèi)部對(duì)象_第5頁(yè)
已閱讀5頁(yè),還剩48頁(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)介

第6章ASP.NET內(nèi)部對(duì)象6.1ASP.NET內(nèi)部對(duì)象簡(jiǎn)介6.1.1ASP.NET常用內(nèi)部對(duì)象ASP.NET中常用的內(nèi)部對(duì)象有8個(gè)。6.1ASP.NET內(nèi)部對(duì)象簡(jiǎn)介6.1.2ASP.NET對(duì)象的訪問(wèn)每個(gè)對(duì)象都有其特有的屬性、事件和方法。其中屬性用來(lái)描述對(duì)象的靜態(tài)特征;事件指對(duì)象在一定條件下產(chǎn)生的信息,如Page對(duì)象,頁(yè)面被請(qǐng)求時(shí)將引發(fā)Init事件;方法反映了對(duì)象的行為,表示對(duì)象的動(dòng)態(tài)特征。1.訪問(wèn)對(duì)象屬性的語(yǔ)法

對(duì)象名.屬性名

例如:使用Page對(duì)象的IsPostBack屬性的語(yǔ)法格式為Page.IsPostBack。

6.1ASP.NET內(nèi)部對(duì)象簡(jiǎn)介2.訪問(wèn)對(duì)象方法的語(yǔ)法

對(duì)象名.方法名(參數(shù)表)

例如,使用Response對(duì)象的Write方法輸出字符串: Response.Write(“HelloWorld!”);3.對(duì)象事件處理程序的語(yǔ)法

對(duì)象名_事件名(參數(shù))

例如:Page對(duì)象的Load事件的默認(rèn)處理程序 privatevoidPage_Load(objectsender,SystemEventArgse)

{

}6.2Page對(duì)象Page對(duì)象包含用于ASP.NET頁(yè)面的所有方法和屬性。每次ASP.NET頁(yè)面請(qǐng)求,Page對(duì)象都會(huì)以動(dòng)態(tài)方式創(chuàng)建HTML標(biāo)記并返回瀏覽器,并同時(shí)處理收到的請(qǐng)求(Request)并響應(yīng)(Response)。6.2Page對(duì)象【例6-1】Page對(duì)象的IsPostBack屬性。

要求:有一個(gè)包含輸入姓名文本框的網(wǎng)頁(yè)。第一次瀏覽該網(wǎng)頁(yè)時(shí)顯示“請(qǐng)?zhí)峤恍彰碧崾拘畔?;提交姓名后則顯示歡迎信息。6.3Response對(duì)象Response對(duì)象繼承于System.Web.HttpResponse類(lèi),主要用于將信息發(fā)送到客戶(hù)端。除此以外該對(duì)象還具有一些特殊功能,比如重定向頁(yè)面等。6.3.1Response對(duì)象的屬性和方法Response對(duì)象的常用屬性與方法如表所示。6.3Response對(duì)象6.3.1Response對(duì)象的屬性和方法6.3Response對(duì)象6.3.2使用Write方法輸出信息Response對(duì)象的Write方法可以靈活地向客戶(hù)端瀏覽器輸出信息,顯示效果與Label標(biāo)簽相似。語(yǔ)法如下:Response.Write(字符串或變量或HTML代碼)例如:Response.Write(“歡迎學(xué)習(xí)ASP.NET!”);//輸出字符串Response.Write(user_name+“歡迎您!”);//輸出變量和字符串Response.Write(“<h1>歡迎光臨!</h1>”);//輸出HTML代碼,標(biāo)題樣式16.3Response對(duì)象【例6-2】

通過(guò)Write方法輸出信息。

要求:通過(guò)Response.Write方法在瀏覽器上顯示字符串、變量值和HTML代碼。6.3Response對(duì)象6.3.3使用Redirect方法重定向頁(yè)面通過(guò)超鏈接的方式將用戶(hù)引導(dǎo)到另一個(gè)頁(yè)面,其缺點(diǎn)是用戶(hù)必須點(diǎn)擊超鏈接。如果希望不用點(diǎn)擊超鏈接就能夠?qū)⒂脩?hù)自動(dòng)引導(dǎo)(即重定向)到另一個(gè)頁(yè)面,該如何處理呢?這種情況下可以使用Redirect方法。語(yǔ)法如下:Response.Write(“網(wǎng)址變量或網(wǎng)址字符串”)例如:Response.Write(“”);//重定向至新浪網(wǎng)Response.Write(strUrl);//重定向至變量strUrl表示的網(wǎng)址Response.Write(“admin.aspx”);//重定向至網(wǎng)站內(nèi)部的其它網(wǎng)頁(yè)6.3Response對(duì)象【例6-3】Redirect方法重定向。

要求:用戶(hù)選擇其身份(用戶(hù)、管理員),系統(tǒng)根據(jù)用戶(hù)的選擇將其自動(dòng)引導(dǎo)到相應(yīng)的頁(yè)面。6.4Request對(duì)象繼承于System.Web命名空間的HttpRequest類(lèi),主要用于獲取用戶(hù)在Web表單中提交的信息或URL中的參數(shù)信息,也可以通過(guò)這個(gè)方法獲得客戶(hù)端IP地址、客戶(hù)端瀏覽器版本等信息。6.4.1Request對(duì)象的數(shù)據(jù)集合、屬性和方法6.4Request對(duì)象6.4.1Request對(duì)象的數(shù)據(jù)集合、屬性和方法Request對(duì)象的語(yǔ)法為:Request[.數(shù)據(jù)集合|屬性|.方法](變量或字符串)例如:Request.QueryString[“id”];Request.TotalBytes;6.4Request對(duì)象6.4.2QueryString數(shù)據(jù)集合QueryString數(shù)據(jù)集合是Request對(duì)象中最重要的數(shù)據(jù)集合,用于獲取標(biāo)識(shí)在URL后面附帶的參數(shù)及其值(也稱(chēng)查詢(xún)字符串)。查詢(xún)字符串與URL用“?”符號(hào)連接,每個(gè)參數(shù)之間用“&”符號(hào)隔開(kāi)。該數(shù)據(jù)集合的使用方法如下:①假設(shè)在某頁(yè)面中存在如下連接到admin.aspx頁(yè)面的超鏈接: /admin/admin.aspx?name=楊欣&type=管理員②可以在admin.aspx頁(yè)面中通過(guò)如下方法獲取參數(shù)的值: stringname=Request.QueryString[“name”]; stringtype=Request.QueryString[“type”];③結(jié)果是:name=“楊欣”,type=“管理員”6.4Request對(duì)象【例6-4】通過(guò)QueryString數(shù)據(jù)集合獲取標(biāo)識(shí)在URL后面的查詢(xún)參數(shù)的值。

要求:點(diǎn)擊6-4.aspx頁(yè)面上的超鏈接(仍然鏈接回6-4.aspx頁(yè)面),獲取查詢(xún)字符串的參數(shù)值。6.4Request對(duì)象6.4.3ServerVariables數(shù)據(jù)集合利用Request對(duì)象的ServerVariables數(shù)據(jù)集合可以獲取服務(wù)器端和客戶(hù)端的環(huán)境變量信息,如客戶(hù)端的IP地址等。CONTENT_TYPE

客戶(hù)端發(fā)出文件的數(shù)據(jù)類(lèi)型REMOTE_ADDR客戶(hù)端IP地址REMOTE_HOST客戶(hù)端主機(jī)名

該數(shù)據(jù)集合的語(yǔ)法如下:Request.ServerVariables(“環(huán)境變量名稱(chēng)”)

例如:Request.ServerVariables[“Remote_Addr”];//返回客戶(hù)端IP地址Request.ServerVariables[“Remote_Host”];//返回客戶(hù)端主機(jī)名稱(chēng)6.4Request對(duì)象6.4.4Browser數(shù)據(jù)集合Browser數(shù)據(jù)集合可以獲取客戶(hù)端瀏覽器的特性,如瀏覽器的類(lèi)型、版本、是否支持背景音樂(lè)、是否支持Cookies、是否支持Java小程序等。Browser

瀏覽器類(lèi)型Cookies

是否支持Cookies,true表示支持,false表示不支持JavaScript

是否支持JavaScript,true表示支持,false表示不支持

該數(shù)據(jù)集合的語(yǔ)法如下:Request.Browser[“瀏覽器特性名稱(chēng)”]

例如:Request.Browser[“Browser”];//返回客戶(hù)端瀏覽器類(lèi)型Request.Browser[“Version”];

//返回客戶(hù)端瀏覽器版本Request.Browser[“Cookies”];//是否支持Cookies,true或false6.5HttpCookies對(duì)象HttpCookies對(duì)象處理Cookies文件。Cookies俗稱(chēng)小甜餅,是服務(wù)器端發(fā)送給客戶(hù)端瀏覽器的文本串句柄,保存在客戶(hù)的硬盤(pán)上。Cookies文件可以記錄瀏覽者的個(gè)人信息、瀏覽器類(lèi)型、訪問(wèn)該網(wǎng)站的時(shí)間、從事過(guò)哪些訪問(wèn)等,廣泛應(yīng)用于各種電子商務(wù)網(wǎng)站中。在ASP.NET中利用Response對(duì)象的Cookies方法建立Cookies,利用Request對(duì)象的Cookies方法讀取Cookies。6.5HttpCookies對(duì)象6.5.1保存Cookies信息通過(guò)Response對(duì)象的Cookies方法設(shè)置Cookies的值,語(yǔ)法如下: Response.Cookies(“CookiesName”)[(key)|.屬性]=字符串6.5HttpCookies對(duì)象舉例說(shuō)明:(1)設(shè)置不含關(guān)鍵字的Cookies。Response.Cookies(“name”).Value=”張爽”;//設(shè)置不含關(guān)鍵字key(2)設(shè)置包含關(guān)鍵字的CookiesResponse.Cookies(“admin”)(“name”)=”楊欣”;//包含關(guān)鍵字nameResponse.Cookies(“admin”)(“sex”)=”女”;//包含關(guān)鍵字sexResponse.Cookies(“admin”)(“age”)=”21”;//包含關(guān)鍵字age(3)設(shè)置Cookies有效期Response.Cookies(“admin”).Expires=#10-21-2010#;//設(shè)置有效期到2010年10月21日6.5HttpCookies對(duì)象6.5.2讀取Cookies信息通過(guò)Request對(duì)象的Cookies方法可以將Cookies的值讀取出來(lái),語(yǔ)法如下:Request.Cookies(“CookiesName”)[(key)|.屬性]6.5HttpCookies對(duì)象舉例說(shuō)明:(1)讀取不含關(guān)鍵字的Cookies。user_name=Request.Cookies(“name”).Value=”張爽”;//讀取Cookies(“name”)的值(2)讀取包含關(guān)鍵字的Cookiesuser_name=Request.Cookies(“admin”)(“name”);//讀取name關(guān)鍵字的值user_sex=Request.Cookies(“admin”)(“sex”);//讀取sex關(guān)鍵字的值user_age=Request.Cookies(“admin”)(“age”);//讀取age關(guān)鍵字的值(3)判斷Cookies中是否包含關(guān)鍵字iskey=Request.Cookies(“admin”).HasKeys;//包含關(guān)鍵字則iskey變量為true,否則為false6.5HttpCookies對(duì)象【例6-5】保存、讀取Cookies。

要求:在6-5a.aspx頁(yè)面中保存Cookies變量,在6-5b.aspx頁(yè)面中讀取Cookies變量。6.6Session對(duì)象Session對(duì)象用于保存用戶(hù)的個(gè)人信息。與Cookies對(duì)象相比,區(qū)別在于Session對(duì)象保存的位置是服務(wù)器。Session對(duì)象的兩個(gè)重要的特點(diǎn)是:①一旦Session變量在網(wǎng)站的某個(gè)頁(yè)面被建立,那么該網(wǎng)站的所有頁(yè)面都可以操作這個(gè)Session變量,即Session對(duì)象保存的信息在整個(gè)網(wǎng)站內(nèi)都有效。②Session對(duì)象是用戶(hù)所私有的,只能自己訪問(wèn),別的用戶(hù)無(wú)權(quán)訪問(wèn)。Session對(duì)象的主要功能是完成用戶(hù)私有信息在網(wǎng)站各頁(yè)面之間的傳遞。例如,管理員登錄后,其特定的Session信息可以允許管理員訪問(wèn)網(wǎng)站的管理功能頁(yè)面。6.6Session對(duì)象6.6Session對(duì)象6.6.1Session的存儲(chǔ)與讀取存儲(chǔ)Session信息的語(yǔ)法如下:讀取Session信息的語(yǔ)法如下:利用Session信息可以在整個(gè)網(wǎng)站內(nèi)都有效這個(gè)特點(diǎn),可以將Session[“SessionName”]看作一個(gè)常量使用。如果讀取不存在的Session,則會(huì)返回Nothing。Session[“SessionName”]=變量|常量|字符串變量=Session[“SessionName”]6.6Session對(duì)象【例6-6】保存、讀取Session。

要求:用戶(hù)輸入用戶(hù)名與密碼。如果輸入正確,先將用戶(hù)名保存在Session變量中,再將用戶(hù)引導(dǎo)至新的頁(yè)面,并在新頁(yè)面中讀取Session變量。6.6Session對(duì)象6.6.2設(shè)置Session的有效期Session的默認(rèn)有效期是20分鐘,客戶(hù)端打開(kāi)瀏覽器就會(huì)創(chuàng)建一個(gè)Session對(duì)象,如果關(guān)閉了瀏覽器或者在20分鐘之內(nèi)沒(méi)有與服務(wù)器進(jìn)行交互,Session對(duì)象就自動(dòng)關(guān)閉。通過(guò)Timeout屬性可以修改Session對(duì)象的有效期,語(yǔ)法:在Session信息自動(dòng)到期之前,也可以通過(guò)Abandon方法強(qiáng)制清除Session信息,語(yǔ)法如下:Session.Timeout=分鐘;例如:Session.Timeout=30;//設(shè)置有效期為30分鐘Session.Abandon();6.7Application對(duì)象Applcation對(duì)象主要用于在同一個(gè)ASP.NET應(yīng)用程序的多個(gè)用戶(hù)之間共享狀態(tài)信息,它可以被全局用戶(hù)訪問(wèn),因此可以創(chuàng)建和保存全局級(jí)別的變量。Application對(duì)象與Session對(duì)象的區(qū)別是:Application對(duì)象保存的信息是對(duì)所有用戶(hù)開(kāi)放的。針對(duì)Application對(duì)象在信息共享方面的特點(diǎn),Application對(duì)象主要應(yīng)用于聊天室、留言板中。Application對(duì)象沒(méi)有有效期的限制,它是一直存在的,從應(yīng)用程序啟動(dòng)到應(yīng)用程序停止。比如服務(wù)器重啟后Application對(duì)象中的信息就丟失了。6.7Application對(duì)象6.7.1Application對(duì)象的方法和事件6.7Application對(duì)象6.7.1Application對(duì)象的方法和事件既然Application對(duì)象是任何用戶(hù)都可以存取的,那么就有可能多個(gè)用戶(hù)同時(shí)更改一個(gè)Application對(duì)象的值,這就有可能會(huì)造成相互干擾,此時(shí)該如何處理呢?用戶(hù)在修改Application對(duì)象數(shù)據(jù)時(shí),首先通過(guò)Lock方法將Application對(duì)象鎖定,別的用戶(hù)就無(wú)權(quán)修改Application對(duì)象,修改完畢后再通過(guò)Unlock方法解鎖。讀取Application對(duì)象時(shí)不需要進(jìn)行鎖定。6.7Application對(duì)象6.7.2Application對(duì)象的信息讀寫(xiě)寫(xiě)入和讀取Application變量信息的語(yǔ)法如下:【例6-7】

讀寫(xiě)Application變量。

要求:利用Application對(duì)象實(shí)現(xiàn)一個(gè)簡(jiǎn)單的聊天室應(yīng)用程序。寫(xiě)入:Application[“ApplicationName”]=變量|常量|字符串讀?。鹤兞?Application[“ApplicationName”]6.8Server對(duì)象Server對(duì)象用于訪問(wèn)服務(wù)器。例如,得到服務(wù)器上某文件的物理路徑、設(shè)置某文件的執(zhí)行期限和對(duì)字符進(jìn)行編碼。6.8Server對(duì)象6.8.1HtmlEncode和UrlEncode方法

1.HTML格式的編碼(HtmlEncode)瀏覽器是對(duì)HTML代碼進(jìn)行逐行解釋執(zhí)行的。例如“<b>HTML與URL格式的編碼與解碼</b>”這樣的HTML代碼將首先被解釋?zhuān)缓蟛艜?huì)將解釋后的結(jié)果顯示在瀏覽器中。HtmlEncode方法給我們提供了將HTML代碼不經(jīng)過(guò)解釋就直接輸出的功能,語(yǔ)法如下:Server.HtmlEncode(變量或字符串)6.8Server對(duì)象6.8.1HtmlEncode和UrlEncode方法

2.URL格式的編碼(UrlEncode)UrlEncode方法能夠把URL字符串轉(zhuǎn)換為相應(yīng)的URL編碼。使用URLEncode方法的目的是為了避免不同的瀏覽器因?yàn)閁RL中存在特殊的字符而出現(xiàn)錯(cuò)誤解釋。例如,<ahref=”admin.aspx?name=馬云”>?!榜R云”中間的空格在某些瀏覽器上就可能無(wú)法被正確識(shí)別,為了避免這種錯(cuò)誤,可以改寫(xiě)為:<ahref=”admin.aspx?name=<%=Server.UrlEncode(“馬云”)%>”>6.8Server對(duì)象6.8.1HtmlEncode和UrlEncode方法例6-8】HTML與URL格式的編碼。

要求:利用HTMLEncode方法和URLEncode方法對(duì)字符串“<b>HTML與URL格式的編碼與解碼</b></br>”進(jìn)行編碼并查看結(jié)果。6.8Server對(duì)象6.8.2MapPath方法MapPath方法可以將服務(wù)器上的虛擬路徑轉(zhuǎn)換為物理路徑,MapPath方法經(jīng)常用于獲取服務(wù)器上的圖片、XML文件、Access數(shù)據(jù)庫(kù)文件的實(shí)際物理路徑。語(yǔ)法如下:【例6-9】

使用MapPath方法。

要求:在應(yīng)用程序中創(chuàng)建兩個(gè)頁(yè)面(6-9.aspx和Default.aspx),在6-9.aspx中顯示出Default.aspx頁(yè)面的物理路徑。Server.MapPath(虛擬路徑字符串)6.8Server對(duì)象6.8.3Execute和Transfer方法Execute方法和Transfer方法均會(huì)停止當(dāng)前頁(yè)面的執(zhí)行,并將用戶(hù)帶到由此方法的參數(shù)URL指定的頁(yè)面。語(yǔ)法如下:Server.Execute(變量或字符串);Server.Transfer(變量或字符串);6.8Server對(duì)象6.8.3Execute和Transfer方法【例6-10】

演示Execute和Transfer方法。

要求:創(chuàng)建6-10b.aspx頁(yè)面(包含一個(gè)水平線和一個(gè)超鏈接)。在6-10a.aspx頁(yè)面中設(shè)計(jì)兩個(gè)按鈕,分別通過(guò)Execute和Transfer方法重定向到6-10b.aspx頁(yè)面。6.10實(shí)用案例6.10.1用戶(hù)注冊(cè)與登錄用戶(hù)注冊(cè)與登錄是多數(shù)網(wǎng)站提供的基本功能。開(kāi)發(fā)時(shí)主要需要注意兩點(diǎn):注冊(cè)過(guò)程中要對(duì)注冊(cè)的用戶(hù)名進(jìn)行檢查,防止與數(shù)據(jù)庫(kù)中現(xiàn)有的用戶(hù)名重復(fù)。要對(duì)登錄后進(jìn)入的頁(yè)面進(jìn)行安全設(shè)置,防止未經(jīng)登錄非法訪問(wèn)。6.10實(shí)用案例案例的運(yùn)行界面如圖。6.10實(shí)用案例

1.相關(guān)知識(shí)文本框、按鈕、驗(yàn)證控件SqlConnection對(duì)象SqlCommand對(duì)象SqlDataRe

溫馨提示

  • 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)論