版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章內(nèi)部對(duì)象
講解提綱
4.1ASP.NET內(nèi)部對(duì)象概述
4.2Page對(duì)象
4.3Request對(duì)象
4.4Response對(duì)象
4.5HttpCookie對(duì)象
4.6Session對(duì)象
4.7Application對(duì)象
4.8Server對(duì)象
4.9Mail對(duì)象
本章要點(diǎn)::
?利用Request對(duì)象的QueryString獲取方法獲取標(biāo)識(shí)在七RL
后面的信息
?利用Request對(duì)象的ServerVariables獲取方法獲取客戶端
IP地址等環(huán)境變量
?利用Response對(duì)象的Write方法輸出信息及它的省略用法
?掌握Response對(duì)象的Redirect方法
?利用Response對(duì)象的Cookies方法設(shè)置Cookies的值,利用
Request對(duì)象的Cookies獲取方法獲取Cookies的值。
?利用Session對(duì)象保存信息
?利用Application對(duì)象保存信息
?掌握Server對(duì)象的的HTMLencode、Mappath和Execute方
法
?掌握發(fā)送E-mail的一般方法
4.1ASP.NET內(nèi)部對(duì)象概述
?對(duì)象其實(shí)就是可以重用的代碼片斷,類是對(duì)象的定義,
對(duì)象是類的實(shí)例。
?對(duì)象一般有屬性、方法、事件。
?ASP.NET能夠利用成千上萬的內(nèi)置對(duì)象。本質(zhì)上前
面講的內(nèi)置函數(shù)、Web控件也都可以看作內(nèi)置對(duì)象,
都是類實(shí)現(xiàn)的。
?本章就講解其中常用的幾個(gè)內(nèi)部對(duì)象,包括Page、
Request、Response、HttpCookie>Session>
Application>Server>Mail
,NET框架
.NET框架(.NETFramework)
基礎(chǔ)類庫(kù)(BaseClassLibrary)
Windows操作系統(tǒng)
內(nèi)部對(duì)象和其它部分的關(guān)系
r
內(nèi)部對(duì)象
.NET類庫(kù)
內(nèi)部對(duì)象簡(jiǎn)要說明
對(duì)象功能
Page頁(yè)面對(duì)象,用于整個(gè)頁(yè)面的操作
Request從客戶端獲取信息
Response向客戶端輸出信息
HttpCookie用于保存Cookie信息
Session存儲(chǔ)特定用戶的信息
Application存儲(chǔ)同一個(gè)應(yīng)用程序中的所有用戶之間的
共享信息
Server創(chuàng)建COM組件和進(jìn)行有關(guān)設(shè)置
Mail在線發(fā)送E-mail
4.2Page對(duì)象
?由System.Web.ULPage類實(shí)現(xiàn),命名空間
System.Web.UI
?屬性:
>IsPostBack
>IsValid
?方法:
>DataBind(數(shù)據(jù)綁定)
?事件:
>Load(頁(yè)面裝載)
???
IsPostBack示例
|cscriptlanguage="YB"runar=r,server^
Suhpage_load(SenderAsObject.,EAsEventArgs)
3IfPage.IsPostBack=TrueThen
4Message.Text=user_naine.text&"圜好”
5Else
6message.Text=”您還出百提交”
7EndIf
8EndSub
q</script>
10
U<body>
12<h4align=rrcenrerr,>IsPostBack示例</h4>
13<formrunat=3erver>
14姓名〈asp:textboxid=rruser_naLnierrnmat=,r5erverrr/>
15<a33bliceontexc="提交"rimat.=,rserver"/>
16<p><asp:labelid="Me3sagerrrunat=server/>
17</form>
18</body>
直</htinl>
網(wǎng)頁(yè)的工作原理
發(fā)出請(qǐng)求(Request)
、
客戶產(chǎn)NLI
服務(wù)器端
發(fā)回網(wǎng)MfResponse)
4.3Request對(duì)象
?在第3章講解了如何獲取客戶填寫在表單中的信息,本節(jié)利用
Request對(duì)象還可以獲取更多的信息。
?當(dāng)客戶端發(fā)出請(qǐng)求執(zhí)行程序時(shí),CLR會(huì)將客戶端的請(qǐng)求
信息包含在Request對(duì)象中。這些請(qǐng)求信息包括請(qǐng)求報(bào)頭,客
戶端的基本信息(如瀏覽器類型,瀏覽器版本號(hào),用戶所用的
語言以及編碼方式等),請(qǐng)求方法(如post,get),參數(shù)名,
參數(shù)值等。
Request對(duì)象可以從一個(gè)HTTP請(qǐng)求中讀取數(shù)據(jù),這個(gè)對(duì)象允許
服務(wù)器腳本與客戶端之間交換數(shù)據(jù),它表示了某個(gè)特定用戶的
當(dāng)前請(qǐng)求,每個(gè)ASP頁(yè)都有唯一的Request對(duì)象,該對(duì)象包含
了FORM中添入的信息,瀏覽器信息以及其他通過超文本傳輸
協(xié)議而收集到的信息內(nèi)容。
4.3.1Request對(duì)象簡(jiǎn)介”
?由System.Web.HttpRequest類實(shí)現(xiàn)
?命名空間:System.Web
?語法為:Request[.數(shù)據(jù)集合|屬性|,方法](變量或是字符串)
?數(shù)據(jù)集合(獲取方法):
>QueryString>Form>Cookies>ServerVariables>
Clientcertificate、Browser
?屬性:
>TotalBytes
?方法:
>BinaryRead
4.3.2使用QueryString數(shù)據(jù)集合::
?QueryString可以獲取標(biāo)識(shí)在URL后面的所有返回
的變量及其值。例如,當(dāng)客戶端送出如下的請(qǐng)求時(shí),
QueryString將會(huì)得到name與age兩個(gè)變量的值。
>http:///temp.aspx?name=白蕓&age=22
?后面可以有多個(gè)變量參數(shù),參數(shù)之間用&連接。
QueryString數(shù)據(jù)集合示例(1)
?1|cscriptlanguage=rrVBtrrunat=Trservexrr>
2Subpage」。ad(SenderAsObject,EAsEventArgs)
3Dimuser_nameAsStrina
?定義一個(gè)甬尸名變量
4DimageAsInteger
,定義一個(gè)年齡變量
5userename=Request.QueryString(iruser__naiiie")
6age=Request.QueryString(rrager,)
7Message.Text=user_name&"您好”
8Message.Text=Message.Text&",恁的年齡是“&
9EndSub
10</script>
11<html>
12<body>
13<h4allgn=,rcenterrr>Reques對(duì)象示例</h4>?3http://localhost//chapter4/4-XaspM?u$er_n<i-1□!x|
14<foriariniac=server>
15<asp:labelid=,rMessagerrrunat=server/>
16</form>
17</body>
18
id
網(wǎng)頁(yè)的工作原理
發(fā)出請(qǐng)求(Request)
、
客戶產(chǎn)NLI
服務(wù)器端
發(fā)回網(wǎng)MfResponse)
4.3.3ServerVariables數(shù)據(jù)集合::
?禾Ll用Request對(duì)象的ServerVariables數(shù)據(jù)集合可以
方便地取得服務(wù)器端或客戶端的環(huán)境變量信息,比
如客戶端的IP地址、用戶使用的瀏覽器類型和版本、
服務(wù)器的主機(jī)名等等。
?語法:
>RequestServerVariables("環(huán)境變量名稱”)
???
???
環(huán)境變量名稱說明
ALL_HTTP客戶端瀏覽器所發(fā)出的所有http標(biāo)題文件
AUTH_TYPE當(dāng)訪問被保護(hù)的腳本時(shí),用以判斷該用戶是否合法
CONTENT_LENGTH發(fā)送到客戶端的文件長(zhǎng)度
CONTENT_TYPE發(fā)送到客戶端的文件類型
LOCAL_ADDR服務(wù)器端的ip地址
LOGON_USER若用戶以windowsNT登錄時(shí),所記錄的客戶端信息
QUERY_STRINGhttp請(qǐng)求中?后的內(nèi)容
REMOTE_ADDR客戶端ip地址
續(xù)表
環(huán)境變量名稱說明
REMOTE_HOST客戶端主機(jī)名
REQUEST_METHOD數(shù)據(jù)請(qǐng)求的方法對(duì)http的請(qǐng)求方式,可以是GET、
POST等方法
SCRIPT_NAME當(dāng)前asp文件的虛擬路徑
SERVER_NAME獲取服務(wù)器的主機(jī)名
SERVER_PORT用http作數(shù)據(jù)請(qǐng)求時(shí),服務(wù)器接受請(qǐng)求的端口號(hào)
URLURL的相對(duì)網(wǎng)址
ServerVariables示例???
?1Rescriptlanguage="YB"rianat=rrserverrr>
2Subpage」。ad(SenderAsObject,EAsEventArgs)
3Message.Texc="您的IP地址是:"&
Request.ServerVariables(rrPEMOTE_AI'DRrr)
4EndSub
E</script>
6<html>
7<body>
<h4811.皿="。出冼1:“:>加5?川21:?獨(dú)1。數(shù)據(jù)集合示例<:/}14>
9<formrunat=server>
10<asp:labelid=rrMessager,runav=,,serve]:,7>
il</forin>
12</body>
13</htnl>
lid
4.3.4ClientCerlificate數(shù)據(jù)集合:
?如果客戶端瀏覽器支持SSL3Q或PCT1協(xié)議,可以
利用Clientcertificate數(shù)據(jù)集合取回客戶端瀏覽器
的身份驗(yàn)證信息。語法如下:
>Request.Clientcertificate(關(guān)鍵字)
?如果客戶端瀏覽器未送出身份驗(yàn)證信息,或服務(wù)器
端也未設(shè)置向客戶端瀏覽器要求身份驗(yàn)證的命令,
那么將返回空值。如果有,將返回相應(yīng)的身份驗(yàn)證
信息。
4.3.5Browser數(shù)據(jù)集合:
?Request對(duì)象的Browser數(shù)據(jù)集合就可以方便地獲
取客戶端瀏覽器特性,如類型、版本、是否支持背
景音樂等。
?語法:
>Request.Browser("瀏覽器特性名稱”)
???
???
名稱說明
Browser瀏覽器版本類型
Version瀏覽器版本名稱
Majorversion瀏覽器主版本
Minorversion瀏覽器次版本
Frames是否支持框架功能,True表不支持,
false表不不支持
Tables是否支持表格功能
Cookies是否支持cookies
Backgroundsounds是否支持背景音樂
續(xù)表
名稱說明
VBScript是否支持VBScript
JavaScript是否支持JavaScript
JavaApplets是否支持Java小程序
ActiveXControls是否支持ActiveXControls控件
Browser示例
1<scriptJLanguage="VB"runat=rrserverrr>
2Subpage_load(SenderAsObject,EAsEventArgs)
3DimstrMessageAsString4-5.aspx
4strHessage="瀏覽器尖型:"&Request.Browser(nBroTjrserr,)
rstrMessage&="<br>瀏覽器版本:”&
Request.Browser(,rVci.sionr,)
6strMessage&="《“'支持CUSCLES否:"&
Request.Browser(rTCookiesrr)
7strMessage&="<br)支持背景音樂否:rT&
Request.Browser(rrBackaroundSo\uids,T)
8message.Texr=strMessage
9EndSub
10</script>
il<htnil>
12<body>
13<h4align="匚enter”〉客戶端瀏覽器特性</h4>
14<formrunat=server>
15<asp:labelid=rrBiessagerrrunat=rrserverrr/>
16
17</body>
?18</html>
IkJ
4.3.6Tota舊ytes屬性
?利用該屬性可以得到客戶端提交數(shù)據(jù)的字節(jié)大小,
語法如下:
>Request.!otalBytes
4.3.7BinaryRead方法::
?前面講的5種獲取方法都是直接獲取數(shù)據(jù),而此方法
可以二進(jìn)制方式獲取客戶端用Post方法提交的數(shù)據(jù)。
?語法如下:
>Request.BinaryRead(字節(jié)大?。?/p>
?說明:其中字節(jié)大小是用Tota舊ytes屬性獲得的響應(yīng)
數(shù)據(jù)的字節(jié)大小。
4.4Response對(duì)象::
?在第3章中講過利用Label標(biāo)簽控件向客戶端輸出信
息。其實(shí),也可以利用Response對(duì)象向客戶端輸
出信息。而且,Response對(duì)象還有一些特殊功能,
如重定向等。
?注意,在ASP.NET中提倡利用控件輸出信息。
4.4.1Response對(duì)象簡(jiǎn)介
?由System.Web.HttpResponse類實(shí)現(xiàn)
?命名空間:System.Web
?屬性:
>Buffer、ContentType
?方法:
>Write>Redirect、End>Clear>Flush、
BinaryWrite
4.4.2利用Write方法輸出信息::
?利用該方法就可以在客戶端輸出信息,效果和利用
Label標(biāo)簽控件一樣。語法:
>Response.Write(變量數(shù)據(jù)或字符串)
?例如:
>Response.Write(user_name&"您好")'user_name
是一個(gè)變量,表示用戶與"
>Response.Write("現(xiàn)在是:"&now())'now()是時(shí)間
函數(shù)
>Response.Write(”業(yè)精于勤而荒于嬉vp>"),輸出字符串
Write方法示例???
i<scriptlanguagemiat-^servet^
2Subpage_load(SenderAsObject,EAsEventArgs)
3Response.Urite("您好,歡迎光?臨“),輸出百息
4Response.Write("<p>敬話提出寶貴意見")'輸出信息
5EndSub
6</script>
7<hmil>
8<body>
9<h4alignLcenter”>Mrite方法示例
10</body>
1□Ix|
11
厄
苞完成馨本地Intranet
Write方法的其它方式
?利用該方法還可以直接在HTML代碼中動(dòng)態(tài)輸出信息,
此時(shí)需要將語句用<%和%>括起來,例如:
><h4align=''center''>Write方法示例v/h4>
><%
>Response.Write。'您好,歡迎光臨”)
>Response.Write("vp>敬請(qǐng)?zhí)岢鰧氋F意見”)
>%>
?此時(shí),它還有一種省略方式,例如:
><h4align="center''>Write方法示例v/h4>
>v%="您好,歡迎光臨"%>
>v%="vp>敬請(qǐng)?zhí)岢鰧氋F意見”%>
4.4.3使用End方法終止ASP.NET程序」Jgt4;;spx
<scriptlanguage="VB"runat="server”>
Subpage_load(SenderAsObject,EAsEventArgs)
response.write("over.")
response.end
Message.Text="您的IP地址是“&
Request.ServerVariables("REMOTE_addr")
EndSub
</script>
<html>
<body>
<h4align="center">ServerVariables數(shù)據(jù)集合示例v/h4>
<formrunat=server>
<asp:labelid="Message"runat=,,server'7>
</form>
</body>
</html>運(yùn)行結(jié)果:
over
4.4.4使用Redirect方法引導(dǎo)客戶端至另一個(gè)URL位置::
?使用Redirect方法就可以引導(dǎo)客戶至另一個(gè)頁(yè)面。語法
如下:
>Response.Redirect(網(wǎng)址變量或字符串)
?例如:
>Response.Redirect(""),引導(dǎo)
至中國(guó)教育網(wǎng)
>Response.Redirect(uother.aspx"),引導(dǎo)至
站內(nèi)其他網(wǎng)頁(yè)
>theURL=""
>Response.Redirect(theURL),引導(dǎo)至變量
表示的網(wǎng)址
???
Redirect方法示例
1(scriptlanguage="VB"runat=r,serveEr,>
Subusertype_change(SenderAsObject,EAsEventArgs)
3Ifusertype.Selectedlrem.value="teacher,rThen
4Response.Redirect(rrteacher.aspx")
,如是教師用戶,重定向到教師頁(yè)面
5Elselfusertype.Se1ecreditem.value=,rstndenr'Then
6Response.Redirect("onudenc.aspx")
,如是學(xué)生用口,重定向到學(xué)生頁(yè)面
7EndIf
8EndSub
?9</script>
10<hml>http://localhost//chapter4/4-7.aspx-Microj-In■ix|
Ud
4.4.5關(guān)于Buffer屬性:
?Buffer屬性用來設(shè)置服務(wù)器端是否將頁(yè)面先輸出到
緩沖區(qū)。它的取值為True或False,默認(rèn)為True。
?語法:
>Response.Buffer=True|False
?使用Response,redirect時(shí)必須保證Buffer值為
True。
4.4.6BinaryWrite方法::?
?該方法用于輸出二進(jìn)制信息,它不進(jìn)行任何字符轉(zhuǎn)換,
直接輸出。其語法為:
>Response.BinaryWrite(變量或字符串)
?有時(shí)侯可能在數(shù)據(jù)庫(kù)里保存了二進(jìn)制信息,就可以用
該方法輸出了。
例如:從數(shù)據(jù)庫(kù)中顯示圖片的信息就要用到該方法。
4.5HttpCookie對(duì)象::
?很多網(wǎng)站能夠記住客戶端的訪問次數(shù)。要記住訪問次
數(shù)可以采取多種方法,其中利用Cookie是一種可以
在客戶端保存信息的方法。
?ASP.NET提供了HttpCookie對(duì)象來處理Cookie,該
對(duì)象是由System.Web.HttpCookie類實(shí)現(xiàn)的。
4.5.1什么是Cookie::
?Cookie俗稱甜餅,可以在客戶端長(zhǎng)期保存信息。它
是服務(wù)器端發(fā)送到客戶端瀏覽器的文本串句柄,保存
在客戶的硬盤上。
?HttpCookie對(duì)象其實(shí)是:
>利用Response對(duì)象的Cookies方法設(shè)置Cookies;
>利用Request對(duì)象的Cookies獲取方法來獲取
Cookies的值。
4.5.2使用Response對(duì)象設(shè)置??
Cookie::
?語法如下:
>Response.Cookies(''CookiesName")[(關(guān)鍵字)|.屬
性尸字符串
?(1)設(shè)置不含關(guān)鍵字的Cookie
>Response.Cookies(''user_name'').Value=''高航''
?(2)設(shè)置含關(guān)鍵字的Cookie"
>Response.Cookies(''user'')(''name''戶''高航''
>Response.Cookies("user")("age")=22
?(3)設(shè)置Cookie的有效期
>Response.Cookies("user_name").Expires=#1/1/2
008#一
4.5.3使用Request對(duì)象讀取Cookie::?
?語法如下:
>Request.Cookies(''CookiesName'')[(關(guān)鍵字)[,屬性]
?(1)省略關(guān)鍵字的用法
>user_name=RequestCookies("user_name").Value
?(2)有關(guān)鍵字的用法
>user_name=RequestCookies("user")("name")
age=Request.Cookies("user")("age")
?(3)判斷Cookies關(guān)鍵字?jǐn)?shù)目
>result=Request.Cookies("CookiesName").Haskeys
4.5.4Cookie綜合示例
SubPage_Load(SendsrAsObject,EAsEventArgs)
3DimvNi.uoberAsInteger'定義一i、訪問次數(shù)變量
4IfRequest.Cookies(rrvNiimbeErf)IsNothingThen
S,如果是第1次訪問,就去訪問次數(shù)為1
6vNumber=l
7Else
8“口果不是第1次訪問,就令訪問次數(shù)在原有次數(shù)上加1
9vNumber=Request.Cookies(,rvNi.uii}:?er,T).value+1
10EndIf
111將新的訪問次數(shù)保存到Co0欠ies中
12Response.Cookies汴lumber").value=vNumber
13,役置百效期為1年后
14Response,Cookies("uNuiiiber"),Expires=DateTime.Now.AddYears(1)
15message,text—'名是第"&vNiimber&"次訪問本站”
16EndSub
?17</script>
3http://localhost//chapter4/4-8.aspx-Microsoft-1□1x|
<htial>
向]文件(E)編輯(日查看(y)收藏(公工具(D帝助(由,二
手融??◎國(guó)益|◎搜索囪收藏軟歷史|
地址①)|司http:"bcalhost7asp,net/chapter4/4-8.a/轉(zhuǎn)到鏈接
Cooldes示例
您是第2次訪問本站
司完成,售本地Intranet
4.6Session對(duì)象:
?利用Session對(duì)象可以方便記錄客戶的信息
4.6.1Session對(duì)象簡(jiǎn)介
?由System.Web.SessionState類實(shí)現(xiàn)
?命名空間System.Web
?屬性
>SessionlD^TimeOut
?方法
>Abandon
?事件
>Session_OnStart
>SessionOnEnd
4.6.2利用Session)
4-9.aspx
[>:y—J—-rvJJ5,M-F3J,1,5-VIII?:|工n1/八一
1〈scriptlanguage="VB"runat=,rsei:verfr>一1<scriptlanguages1^ElmaJ
2SubPage_Load(SenderAsObject,EAsEventArgs)一二SubPage_Load(SenderAsObject,EAsEventArgs)
Session("usei:_naiii2")="卓云",給SESSionj?值DimuserenameAsString,ageAsInteger
4Session("age亍=224user_name=Session(,tu5er_namef,),轉(zhuǎn)眼£esmic?n的值
5EndSubage=Session("age")'我取呢391onfit)值
匚</script>6message,text=user_name&"您好,您的年齡是"&
7<html>age.Tostring
8<body>7EndSub
8</script>
9該程序僅用來存入Session值,話自己打開4-lO.aspx查看結(jié)果
9<html>
10</body>
10<body>
?11|
!!<asp:labelid=,rmessage1'runat=,rserverrf/>
1212</body>
姆―對(duì)?13</html>l
5http://localhost//chapter-</4-9-aspx-
]文件的一編阿。查看⑦收as?Ifl(D鄧助(H)r_,
j舉局s,-???囤&I@搜索囪收蔻圖|歷史I
地址(Q)|笆>://localhost//chapter4/+9.aspx工).企箱SJ攝接》
該程序僅用來存入Session值,請(qǐng)自己打開4-10.aspx
查看結(jié)果
笆完成:熊本地Intranet及
4.6.3利用Session存儲(chǔ)數(shù)組信息
4-11.aspx|?/_Ml.J_?V??J,
^scriptrr4-12.aspx卜
language=\Si<scriptlanguage=
SubPage_Load(SenderAsObject,EAsEventArgs)
SubPage__Load(SenderAsObject,EAsEventArgs)—
Dimuserename(2)AsString
3Dimuserename()AsString?定義一個(gè)變長(zhǎng)數(shù)妲
4user_name(O)="白蕓"
user__name=Session(,ru3er_namer,)岑股SemsiorMi直
§userename(1)="海岸"
message,text=userename(0)&“您好二p、'r&
6Session("u£€:L_naiuE")=user_nanieuser_name(l)&”!旃"
,傳入數(shù)組到Session^}象
6EndSub-
EndSub
7</script>
8</script>
e
9<html>
9<body>
10<body>
ia<asp:labelid="w2ssag已“tunat=,rserverrr/>
11該程序僅用來存入Sessi。磷(蛆,話自己打開4-12.aspx查看結(jié)果.
</body>
id1T
-Inixi
http://localhost//chapter-</4-li^spx?卜
_____二「士1
]文件(E)編輯(E)£S(v)收蘸⑥XM(D幫助?
j①后遢-”?◎國(guó)縊|尊竦在研凌歷史|
I司,/lo3lhosUa$,chapter4/4?ll.a$px▼1"轉(zhuǎn)到鏈接》
該程序僅用來存入%ssi。儆組,請(qǐng)自己打開4-
12.aspxS看結(jié)果
司完成,售本地Intranet
4.6.4Timeout屬性::
?Session對(duì)象有它的有效期,默認(rèn)為20分鐘。
客戶端每新打開一個(gè)瀏覽器窗口,就會(huì)創(chuàng)建一
個(gè)Session對(duì)象,如果超出20分鐘沒有和服務(wù)
器端交互或者關(guān)閉了瀏覽器,則該Session對(duì)象
就會(huì)自動(dòng)結(jié)束。
?修改有效期語法如下:
>Session.Timeout=整數(shù)(分鐘)
?例如:
>Session.Timeout=90,將有效期改為90分鐘
4.6.5Abandon方法:
?Session對(duì)象到期后會(huì)自動(dòng)清除,但到期前可以用
Abandon方法強(qiáng)行清除。語法:
?Session.Abandon
?例如:
?Session("user_name,,)="萌萌"
?Session.Abandon
?Response.Write(Session(',user_name"))
?說明:一
>先將前兩句復(fù)制到一個(gè)文件中執(zhí)行,然后再將第3
句復(fù)制到另一個(gè)ASP.NET文件中執(zhí)行。
4.7Application對(duì)象::
?Session對(duì)象可以記載特定客戶的信息,與此相
反的是,Application對(duì)象可以記載所有客戶信
息。
?簡(jiǎn)而言之,不同的客戶必須訪問不同的Session
對(duì)象,但可以訪問公共的Application對(duì)象。
?它的最典型的應(yīng)用是聊天室。
4.7.1Application對(duì)象簡(jiǎn)介
?由System.Web.HttpApplication類實(shí)現(xiàn)
?方法:
>Lock
>Unlock
?事件:
>Application_OnStart
>Application_OnEnd
4.7.2利用Application存儲(chǔ)信息
?語法:
>ApplicationC'Application名字“戶變量、常量、
字符串信息或表達(dá)式
?例如:
>Application.Lock
>Application(,,user_numl,)=user_num
>Application("city〉“南京”
>Application.Unlock
Application示例
?這是一個(gè)簡(jiǎn)單的聊天室,共分3個(gè)文件
>4?13.aspx框架頁(yè)文件(省略不講)
4-14.aspx口
3Application對(duì)象示例-MicrosoftInternetExplorer,1□1x|
4-15.aspx讀取發(fā)言信
苞競(jìng)成一I'一[一:犀不他Intranet
4?14.aspx保存發(fā)言信息
4-14.aspx
i<scriptlanguage=rrVBr,runat="serverrr>
2SubEnter_Click(SenderAsObject,EAsEventArgs)
3Application.Lock
4Application(r'showrr)=pronunciation.Text&,r<L>r>r,&
Applieat.ion(r,showrr)
5Application.UnLock
6pronunciation.Tex,恪發(fā)言把清空
7EndSub
8</script>
a<html>
10<body>
11<formrunat=rrserver">
12?<aap:textboxid="pLonunciait4.on''coluims="3口”
runar=,,serverr,/>
13<asp:buttontext=r,發(fā)送"one11ck=r,Encer_C1ickrr
Lunac=''3erver”/>
14</form>
15</body>
</html>|
4-15.aspx讀取發(fā)言信息
4-15.aspx
473利用Application存儲(chǔ)數(shù)組信息
?和Session非常類似。
?存儲(chǔ):
>Dimuser_name(2)AsString
>user_name(O)="白蕓"
>user_name(1)="海霞"
>Application.Lock
>Application("arry_user_name")=user_name
>Application.Unlock
?讀?。?/p>
>Dimuser_name()AsString
>user_name=Application("arry_user_name")
>message.text=user_name(O)&"您好vp>"&user_name(1)&
您好“一一
4.Server對(duì)象
?Server對(duì)象是專為處理服務(wù)器上的特定任務(wù)而設(shè)
計(jì)的,特別是與服務(wù)器的環(huán)境和處理活動(dòng)有關(guān)的
任務(wù)。
4.8.1Server對(duì)象簡(jiǎn)介
?由System.Web.HttpServerUtility類實(shí)現(xiàn)
?命名空間:System.Web
?類:
?屬性:
>ScriptTimeout
?方法:
>Execute>Transfer
>HtmlEncode>UrlEncode
>CreatObject>MapPath
4.8.2ScriptTimeout屬性
?該屬性用來規(guī)定腳本文件執(zhí)行的最長(zhǎng)時(shí)間,默
認(rèn)為90秒。主要是用來防止某些可能進(jìn)入死循
環(huán)的錯(cuò)誤導(dǎo)致服務(wù)器過載問題。
?修改方法如下:
>Server.ScriptTimeout=300
4.8.3CreateObject方法
?該方法可以用于創(chuàng)建組件、應(yīng)用對(duì)象或腳本對(duì)
象的實(shí)例。
?語法如下:
>Server.CreateObject(ActiveXServer組件)
4.8.4HTMLEncode方法
i<script.language="VB"rijnat=r,serveLrr>
.一,SubPage_Load(SenderAsObject,EAsEventArgs)
3messagel.text=r,<a
href='httsp://wx^roj.sohu.com,搜狐"a?"
4message2.text=Server.HTMLEncode(,r<a
href='httsp://ww.sohu.com'、搜狐)
5EndSuto
6</script>
7<html>
8<body>
g<asp:labelid="me3sagel''runau='*servei:**/>
10<p><asp:labelid=,rDiessage2r,runat=,rserverr,/>
il</body>
l±i</htm.l>
485URLEncode方法
?該方法用來轉(zhuǎn)化字符串為URL編碼。
?例子:
>Server.URLEncode(uab")
?結(jié)果:
>a+b
????
4.8.6MapPath方法???
?可以將虛擬路徑轉(zhuǎn)化為物理路徑。
<scriptlanguage=,rVB,rrunat=r,serverfr>
2SubPage_Load(SenderAsObject,EAsEventArgs)4-17.aspx
3messagel.text=Server.MapPath(rr4-16.asp")
4messageZ.text=Server.MapPath(rr../chapter3/3-l.asp")
5EndSub
6</script>
7<html>
8<body>
<asp:lakielid=,rmes3agelrrnunat:="3erv已?。骸?>
10<p><asp:labelid=rrmes3age2r*runat=rr3erverrr
il</body>
?*j</htnil>
4.8.7Execute方法
?該方法用來停止執(zhí)行當(dāng)前網(wǎng)頁(yè),轉(zhuǎn)到新的網(wǎng)頁(yè)
執(zhí)行,執(zhí)行完畢后返回原網(wǎng)頁(yè),繼續(xù)執(zhí)行
Execute方法后面的語句。
?語法如下:
>Server.Execute(變量或字符串)
4.8.7Execute方法
?該方法和Redirect方法的區(qū)別。
>(1)Redirect語句盡管是在服務(wù)器端運(yùn)行,但重定
向?qū)嶋H發(fā)生在客戶端,而Execute方法的重定向?qū)嶋H
發(fā)生在服務(wù)器端。
>(2)Redirect語句執(zhí)行完新的網(wǎng)頁(yè)后,并不返回原
網(wǎng)頁(yè),而Execute方法卻返回原頁(yè)面,繼續(xù)執(zhí)行下面
的語句。
>(3)Redirect語句并不能把一些環(huán)境變量傳遞過去,
而Execute方法卻可以。
>(4)Redirect方法可以轉(zhuǎn)向一個(gè)網(wǎng)頁(yè)和其他網(wǎng)站,
而Execute方法一般只能轉(zhuǎn)到同一個(gè)應(yīng)用程序的其他
文件。
4.8.8Transfer方法
?該方法和Execute方法非常相似,惟一的區(qū)別是
執(zhí)行完新的網(wǎng)頁(yè)后,并不返回原網(wǎng)頁(yè),而是停
止執(zhí)行過程。
?語法如下:
>Server.!ransfer(變量或字符串)
Execute方法示例
4-18.aspx
?1<html>
<body>
<p》敬請(qǐng)?zhí)岢鰧氋F意見
4</body>
5
6
|口局s▼?◎國(guó)有◎搜索收藏
地址(Q
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高考?xì)v史選修部分提分攻略中外歷史人物評(píng)說含解析
- 開礦鏟車出售合同范例
- 定制軟件銷售合同范例
- 延期采購(gòu)合同范例
- 拆招牌施工合同范例
- 中介房產(chǎn)合同范例
- 平房抵押貸款合同模板
- 微店合作合同模板
- 房租租賃合同范例封面
- 工業(yè)尿素銷售合同范例
- XMT-7000溫控儀使用說明書
- 2023年1月高三英語試題(浙江卷)+聽力+答案+作文
- 漢字聽寫大賽匯總成語
- 主要?jiǎng)游镆卟z疫-共患病檢疫(動(dòng)物防疫與檢疫技術(shù))
- 體位引流課件
- 媒介倫理及規(guī)范案例教學(xué)演示文稿
- 混凝土有限公司安全管理工作責(zé)任追究制度
- 人教版三年級(jí)數(shù)學(xué)上冊(cè)“倍的認(rèn)識(shí)”作業(yè)設(shè)計(jì)
- 大數(shù)據(jù)可視化知到章節(jié)答案智慧樹2023年浙江大學(xué)
- 學(xué)校教師招聘公告 中學(xué)招聘老師公告(四篇)
- 市政工程項(xiàng)目部管理制度及崗位職責(zé)
評(píng)論
0/150
提交評(píng)論