版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第3章章ASP.NET基礎(chǔ)知識(shí)主要內(nèi)容:主要內(nèi)容:ASP.NET的頁(yè)面框架和頁(yè)面類的介紹ASP.NET中存放各種程序文件的文件夾介紹ASP.NET核心對(duì)象的介紹ASP.NET的配置文件和全局文件的配置文件和全局文件41233 3.1 頁(yè)面管理頁(yè)面管理 ASP.NET頁(yè)面是帶.aspx擴(kuò)展名的文本文件,可以被部署在IIS虛擬目錄樹之下。頁(yè)面由代碼和標(biāo)簽(tag)組成,它們?cè)诜?wù)器上動(dòng)態(tài)地編譯和執(zhí)行,為提出請(qǐng)求的客戶端瀏覽器(或設(shè)備)生成顯示內(nèi)容。 4 3.1.1 ASP.NET頁(yè)面代碼模式頁(yè)面代碼模式 單一文件模式單一文件模式:頁(yè)面的標(biāo)簽和代碼在同一個(gè).aspx文件中,程序代碼包含在的服務(wù)器程
2、序腳本代碼塊中間. 代碼分離代碼分離(隱藏隱藏)模式:模式:把一個(gè)程序文件分為一個(gè)界面代碼(.aspx)文件和一個(gè)控制代碼(.aspx.cs)文件。單一文件模式和代碼隱藏模式單一文件模式和代碼隱藏模式6頁(yè)面往返機(jī)制頁(yè)面往返機(jī)制 ASP.NET網(wǎng)頁(yè)是作為代碼在服務(wù)器上運(yùn)行的,因此,要使頁(yè)面中的按鈕或其他內(nèi)容得到處理,必須將該信息提交到服務(wù)器。每次頁(yè)面提交時(shí),都會(huì)在服務(wù)器端運(yùn)行其代碼,然后把運(yùn)行的結(jié)果呈現(xiàn)給用戶。 7ASP.NET頁(yè)面的處理流程如下:8 在生命周期中,該頁(yè)面將主要執(zhí)行下列處理在生命周期中,該頁(yè)面將主要執(zhí)行下列處理步驟:步驟: 1. 頁(yè)面初始化頁(yè)面初始化 引發(fā)該頁(yè)的Page_Init
3、事件,并還原該頁(yè)和控件視圖狀態(tài)。 2.頁(yè)面裝載頁(yè)面裝載 引發(fā)頁(yè)面的Page_Load事件(在初始化之后)。 3.事件處理階段事件處理階段 4. 資源清理階段資源清理階段頁(yè)面生存周期頁(yè)面生存周期ASP.NET生命周期中的事件生命周期中的事件 1.Page_PreInit 頁(yè)面加載事件頁(yè)面加載事件 2.Page_Init 頁(yè)面加載事件頁(yè)面加載事件 3.Page_Load 頁(yè)面載入事件頁(yè)面載入事件 4.Page_UnLoad 頁(yè)面卸載事件頁(yè)面卸載事件 Page_PreInitPage_InitPage_InitComplete Page_PreLoad Page_Load Page_LoadComp
4、lete Page_PreReader Page_PreReaderCompletePage_SaveStateComplete Page_UnLoad11Page.IsPostBack 屬性屬性 獲取一個(gè)布爾值,可以獲取一個(gè)布爾值,可以檢查.aspx頁(yè)是否為傳遞回服務(wù)器的頁(yè)面,用來(lái)判斷頁(yè)面是否是第一次被加載。 TrueTrue表示當(dāng)前頁(yè)是表示當(dāng)前頁(yè)是為響應(yīng)客戶端回發(fā)而加載為響應(yīng)客戶端回發(fā)而加載,F(xiàn)alseFalse表示表示首次加載和訪問首次加載和訪問。 程序private void Page_Load(object sender, System.EventArgs e) if(! Page.
5、IsPostBack )lblDate.Text =“Hello,World!”;從此處調(diào)用 Page_Load 事件/如果首次加載頁(yè)面,才會(huì)執(zhí)行括號(hào)內(nèi)的操作123.2 特殊文件夾特殊文件夾 ASP.NET對(duì)程序進(jìn)行設(shè)計(jì)將特定類型的文件存放在某些文件夾中,以方便在今后開發(fā)中的管理和操作。 ASP.NET保留了一些文件名稱和文件夾名稱,程序開發(fā)人員可以直接使用,并且還可以在應(yīng)用程序中增加任意多個(gè)文件和文件夾。133.2.1 App_Data文件夾文件夾App_Data文件夾保存應(yīng)用程序使用的數(shù)據(jù)庫(kù)。它是一個(gè)集中存儲(chǔ)應(yīng)用程序所用數(shù)據(jù)庫(kù)的地方。App_Data文件夾可以包含Microsoft SQL
6、 Express 文件(.mdf)、Microsoft Access文件(.mdb)、XML文件等。 143.2.2 App_Code 文件夾文件夾App_Code文件夾正好在Web應(yīng)用程序根目錄下,它存儲(chǔ)所有應(yīng)當(dāng)作為應(yīng)用程序的一部分動(dòng)態(tài)編譯的類文件。這些類文件自動(dòng)鏈接到應(yīng)用程序,而不需要在頁(yè)面中添加任何顯式指令或聲明來(lái)創(chuàng)建依賴性。App_Code文件夾中放置的類文件可以包含任何可識(shí)別的ASP.NET組件自定義控件、輔助類、build提供程序、業(yè)務(wù)類、自定義提供程序、HTTP處理程序等。153.2.3 Bin文件夾文件夾Bin文件夾包含應(yīng)用程序所需的,用于控件、組件或者需要引用的任何其他代碼的
7、可部署程序集。該目錄中存在的任何.dll文件將自動(dòng)地鏈接到應(yīng)用程序??梢栽贐in文件夾中存儲(chǔ)編譯的程序集,并且Web應(yīng)用程序任意處的其他代碼會(huì)自動(dòng)引用該文件夾。典型的示例是您為自定義類編譯好的代碼,您可以將編譯后的程序集復(fù)制到Web應(yīng)用程序的Bin文件夾中,這樣所有頁(yè)都可以使用這個(gè)類。 163.3 ASP .NET內(nèi)置對(duì)象概述內(nèi)置對(duì)象概述 ASP .NET提供了6個(gè)可以直接使用的對(duì)象。如:Response、Request等,當(dāng)Web應(yīng)用程序運(yùn)行時(shí),這些對(duì)象可以用來(lái)維護(hù)有關(guān)當(dāng)前應(yīng)用程序、瀏覽器、Web服務(wù)器的活動(dòng)狀態(tài)等基本信息,并為瀏覽器與Web服務(wù)器的處理交互提供橋梁。 17對(duì)象名對(duì)象名功能說(shuō)
8、明功能說(shuō)明ResponseResponse用于向?yàn)g覽器輸出信息用于向?yàn)g覽器輸出信息RequestRequest用于獲取來(lái)自瀏覽器的信息用于獲取來(lái)自瀏覽器的信息ServerServer提供服務(wù)器端的一些屬性和方法提供服務(wù)器端的一些屬性和方法ApplicationApplication用于共享多個(gè)會(huì)話和請(qǐng)求之間的全局信息用于共享多個(gè)會(huì)話和請(qǐng)求之間的全局信息SessionSession用于存儲(chǔ)特定用戶的會(huì)話信息用于存儲(chǔ)特定用戶的會(huì)話信息CookiesCookies瀏覽器和服務(wù)器之間傳遞的一小段信息,用瀏覽器和服務(wù)器之間傳遞的一小段信息,用來(lái)保存用戶信息,可以被存在瀏覽器的本地來(lái)保存用戶信息,可以被存
9、在瀏覽器的本地硬盤中。硬盤中。3.3 ASP .NET內(nèi)置對(duì)象概述內(nèi)置對(duì)象概述18目標(biāo)目標(biāo) 使用 Response 對(duì)象 使用 Request 對(duì)象 使用 Server 對(duì)象 使用Session對(duì)象 使用Application對(duì)象 使用Cookie對(duì)象193.3.1 Response對(duì)象對(duì)象q由類System.Web.HttpResponse來(lái)實(shí)現(xiàn)。提供對(duì)當(dāng)前頁(yè)的輸出流。q此類可用于:q向輸出頁(yè)面寫入文本q將用戶重新定向到另一個(gè)頁(yè)面q有條件地結(jié)束應(yīng)用程序連接q獲取或設(shè)置輸出流的屬性值q。20Response:常用方法常用方法方法方法說(shuō)明說(shuō)明Write用于向當(dāng)前 HTTP 響應(yīng)流寫入文本,使其成
10、為返回頁(yè)面的一部分Redirect將用戶從請(qǐng)求頁(yè)面重新定向或帶到另一頁(yè)面WriteFile向?yàn)g覽器輸出文本文件expires瀏覽器上的緩沖存儲(chǔ)的頁(yè)距過(guò)期還有多久21Write方法方法 WriteWrite方法用來(lái)向客戶端輸出信息方法用來(lái)向客戶端輸出信息。例如:。例如:ResponseResponse. .WriteWrite( ( 現(xiàn)在時(shí)間為:現(xiàn)在時(shí)間為: + + DateTimeDateTime. .NowNow. .ToString()ToString(); ); . .RedirectRedirect方法:方法:q用來(lái)重定向頁(yè)面用來(lái)重定向頁(yè)面,例如:,例如:ResponseRespons
11、e. .RedirectRedirect( (login.aspxlogin.aspx););ResponseResponse. .RedirectRedirect( (http:/ RequestqRequest 對(duì)象可以獲取來(lái)自客戶端的信息。這些信息包括:q客戶通過(guò)表單(form)或URL地址串發(fā)送來(lái)的值q客戶端的基本信息q在客戶端瀏覽器上為網(wǎng)站存儲(chǔ)的 Cookieq24屬性名稱屬性名稱說(shuō)明說(shuō)明QueryString獲得查詢字符串的集合(數(shù)據(jù)附加到URL傳送)Form 獲得網(wǎng)頁(yè)中定義的窗體變量的集合(數(shù)據(jù)嵌入HTTP 請(qǐng)求中傳送)。客戶瀏覽器信息、ip地址等Request 對(duì)象的常用屬性3
12、.3.2 Request25Form數(shù)據(jù)集合數(shù)據(jù)集合 用來(lái)獲取客戶端通過(guò)用來(lái)獲取客戶端通過(guò)POSTPOST方法傳送的表單方法傳送的表單數(shù)據(jù):數(shù)據(jù):26用來(lái)獲取客戶端通過(guò)用來(lái)獲取客戶端通過(guò)GET方法傳送的表單數(shù)據(jù)方法傳送的表單數(shù)據(jù)客戶端使用如下地址請(qǐng)求客戶端使用如下地址請(qǐng)求:http:/localhost/doit.aspx?name=zhangsan&sex=nan在doit.aspx中就可以使用Request.QueryStringname和Request.QueryStringsex來(lái)獲取相應(yīng)的值z(mì)hangsan和nan。QueryString數(shù)據(jù)集合數(shù)據(jù)集合27Request:Q
13、uerystring 提交前 private void btnSubmit_Click(object sender, System.EventArgs e) string strURL=; strURL=“TargetPage.aspx?Name= + txtName.Text+&pwd=+ txtPwd.Text ; Response.Redirect(strURL); Request:Querystring 提交前 QueryString數(shù)據(jù)集合28HttpRequest:Querystring 提交后 private void Page_Load(object sender, S
14、ystem.EventArgs e)string userNm=Request.QueryStringName;Response.Write(歡迎);Response.Write(userNm);Response.Write (你的密碼是:+Request.QueryStringpwd);29Response_Request例子例子30Browser屬性屬性HttpBrowserCapabilities bc = Request.Browser;Response.Write(您所用的瀏覽器信息如下:);Response.Write(名稱及版本: + bc.Type + );Response.W
15、rite(類型: + bc.Browser + );Response.Write(版本號(hào): + bc.Version + );Response.Write(主版本號(hào): + bc.MajorVersion + );Response.Write(次版本號(hào): + bc.MinorVersion + );Response.Write(平臺(tái): + bc.Platform + );Response.Write(是否為測(cè)試版: + bc.Beta + ); Response.Write(是否為基于Win16計(jì)算機(jī): + bc.Win16 + );Response.Write(是否為基于Win32計(jì)算機(jī): +
16、 bc.Win32 + );Response.Write(是否支持HTML框架: + bc.Frames + );Response.Write(是否支持HTML表格: + bc.Tables + );Response.Write(是否支持Cookie: + bc.Cookies + );Response.Write(是否支持ActiveX: + bc.ActiveXControls + );31Browser屬性屬性32Request其它對(duì)象其它對(duì)象Response.Write(客戶端瀏覽器:+Request.UserAgent+ );Response.Write(客戶端IP地址:+Reque
17、st.UserHostAddress+ );Response.Write(當(dāng)前文件服務(wù)器端物理路徑:+Request.PhysicalApplicationPath );333.3.3 Server 對(duì)象對(duì)象Execute 方法和 Transfer 方法HTMLEncode方法MapPath 方法URLEncode 方法方法通過(guò)Server對(duì)象可以訪問服務(wù)器的方法和屬性可以訪問服務(wù)器的方法和屬性,獲取有關(guān)服務(wù)器的信息。其對(duì)應(yīng)HttpServerUtility類。34ExecuteTransferURL 參數(shù)指定的頁(yè)面處理完后,控制權(quán)會(huì)返回給先前的頁(yè)面或調(diào)用此方法的頁(yè)面,并且從此方法調(diào)用后的語(yǔ)句
18、繼續(xù)執(zhí)行 URL 參數(shù)指定的頁(yè)面處理完后,控制權(quán)不會(huì)返回給先前的頁(yè)面,也不會(huì)返回給調(diào)用此方法的頁(yè)面,并且在新頁(yè)面完成執(zhí)行時(shí)結(jié)束 注意:Server 對(duì)象的 Transfer 方法和 Execute 方法僅用于 Web 窗體Execute 方法和 Transfer 方法均會(huì)停止當(dāng)前頁(yè)面的執(zhí)行,并將用戶帶到由此方法的參數(shù) URL 指定的頁(yè)面3.3.3 Server 對(duì)象對(duì)象35private void btnExec_Click(object sender, System.EventArgs e) Server.Execute (ResponseProperties.aspx); lblForEx
19、ecute.Text=客戶端調(diào)用 Execute 方法之后!;private void btnTransfer_Click(object sender, System.EventArgs e) Server.Transfer (RequestProperties.aspx); lblForExecute.Text=“客戶端調(diào)用 Transfer 方法之后!;3.3.3 Server 對(duì)象對(duì)象36HTMLEncode 方法:q 為了確保所有瀏覽器均能在 URL 字符串中正確地傳送文本,需要使用 HTML 編碼。HTMLEncode 方法正是起這個(gè)作用的,它能將HTML標(biāo)記按文本顯示。q 例如,如
20、果輸入文本包含 “”字符,此方法會(huì)將這些字符轉(zhuǎn)換為其對(duì)等的 HTML 字符,即分別為 < 和 >,以便瀏覽器將這些字符正確地顯示為“”HTMLEncode(String)要編碼為 HTML 的文本語(yǔ)法3.3.3 Server 對(duì)象對(duì)象37HTMLEncode的使用private void Page_Load(object sender, System.EventArgs e) Response.Write(測(cè)試表示用粗體顯示); Response.Write(); Response.Write(<B>測(cè)試</B>表
21、示用粗體顯示); Response.Write(); Response.Write(Server.HtmlEncode(測(cè)試表示用粗 體顯示);3.3.3 Server 對(duì)象對(duì)象38URLEncode 方法:q 在 HTML 編碼中,將文本編碼成相應(yīng)的 HTML 是為了在瀏覽器中正確地顯示 q 如果是要求可靠的 HTTP 傳輸通過(guò) URL 將編碼文本從 Web 服務(wù)器傳送到客戶端,該怎么辦? q 可使用 URLEncode 方法實(shí)現(xiàn)此目的。它將文本編碼以便通過(guò) URL 從 Web 服務(wù)器到客戶端進(jìn)行可靠的 HTTP 傳輸語(yǔ)法要編碼為 HTML 傳輸?shù)奈谋?URLEncode(String)3.
22、3.3 Server 對(duì)象對(duì)象39private void Page_Load(object sender, System.EventArgs e) string MyURL; MyURL = http:/ =張 三; Response.Write(這是用Response.Write(Server.UrlEncode(MyURL)的結(jié) 果:+ Server.UrlEncode(MyURL) + ); Response.Write(這是用Response.Write(MyURL)的結(jié)果:+MyURL);3.3.3 Server 對(duì)象對(duì)象40MapPath 方法:q Web 應(yīng)用程序位于 IIS
23、根目錄下的虛擬目錄中q 因此,我們請(qǐng)求網(wǎng)頁(yè)時(shí),引用稱為“虛擬路徑”的虛擬目錄路徑。但是經(jīng)常需要得到 Web 服務(wù)器上的 Web 資源的實(shí)際物理路徑q 用 MapPath 方法,我們可從其虛擬路徑得到我們可從其虛擬路徑得到 Web 資源(如 .aspx 頁(yè)面)的物理路徑MapPath(string path)Web 服務(wù)器上的指定虛擬路徑3.3.3 Server 對(duì)象對(duì)象41MapPathResponse.Write(當(dāng)前目錄物理路徑:+Server.MapPath(.)+);Response.Write(上級(jí)目錄物理路徑:+Server.MapPath(.) +);Response.Write
24、(網(wǎng)站根物理路徑:+Server.MapPath(/) +);Response.Write(“當(dāng)前頁(yè)面物理路徑:+Server.MapPath(WebForm2.aspx);Application、Session和Cookie對(duì)象433.3.4 Application對(duì)象對(duì)象 ASP.NET 應(yīng)用程序是單個(gè)應(yīng)用程序是單個(gè) Web 服務(wù)器上服務(wù)器上的某個(gè)虛擬目錄及其子目錄范圍內(nèi)的所有的某個(gè)虛擬目錄及其子目錄范圍內(nèi)的所有文件、頁(yè)、處理程序、模塊和代碼的總和文件、頁(yè)、處理程序、模塊和代碼的總和。q如果想在整個(gè)應(yīng)用程序范圍內(nèi)存儲(chǔ)一些所有用戶共享的信息,Application對(duì)象將是最佳的選擇,利用Ap
25、plication存儲(chǔ)的變量和對(duì)象在整個(gè)應(yīng)用程序內(nèi)執(zhí)行的所有ASP.NET頁(yè)面中都是可用的,并且值也是相同的。44Application 變量變量變量用于在應(yīng)用程序執(zhí)行時(shí)存儲(chǔ)數(shù)據(jù)應(yīng)用程序級(jí)會(huì)話級(jí)string myname = “張三;Response.Write (“歡迎 + myname);45Lock 和和 Unlock 方法方法 Lock()Lock() 用于防止用戶更改 Application 對(duì)象的屬性 Lock() 可用作 Application.Lock() UnLock()Unlock() 方法用于釋放對(duì)應(yīng)用程序變量的鎖定UnLock() 可用作Application.UnLo
26、ck()46向應(yīng)用程序添加、更新和移除項(xiàng)向應(yīng)用程序添加、更新和移除項(xiàng) 方法方法說(shuō)明說(shuō)明Add()向 Application 狀態(tài)添加新對(duì)象。例如,下列代碼會(huì)向應(yīng)用程序狀態(tài)添加項(xiàng):Application.Add(“Title”, “Article board”);或 Application(“Title”) = “Article Board”; Clear()從 Application 狀態(tài)中移除所有對(duì)象 Remove()從 Application 集合中按名稱移除項(xiàng)。例如,下列代碼移除 Title 項(xiàng):Application.Remove(Title) 47Global.asax Global
27、.asax 文件(也稱作 ASP.NET 應(yīng)用程序文件),包含用于響應(yīng) ASP.NET 引發(fā)的應(yīng)用程序級(jí)別事件的代碼。Global.asax 文件駐留在基于 ASP.NET 的應(yīng)用程序的根目錄中。 48Global.asax事件說(shuō)明Application_Start當(dāng)?shù)谝粋€(gè)頁(yè)面被請(qǐng)求時(shí)Application_End應(yīng)用程序的最后一個(gè)會(huì)話結(jié)束時(shí)觸發(fā)。(IIS終止應(yīng)用程序時(shí))Application_BeginRequest每次頁(yè)面請(qǐng)求開始時(shí)觸發(fā)(頁(yè)面刷新時(shí))Application_EndRequest每次頁(yè)面請(qǐng)求結(jié)束時(shí)(即每次在瀏覽器上執(zhí)行頁(yè)面時(shí))觸發(fā)Session_Start每次新的會(huì)話開始時(shí)觸
28、發(fā)Session_End會(huì)話結(jié)束時(shí)觸發(fā)。49對(duì)象級(jí)變量對(duì)象級(jí)變量private void Page_Load(object sender, System.EventArgs e)/ 在此處放置用戶代碼以初始化頁(yè)面Response.Write(你是第+ ApplicationUserNum.ToString() + 位訪客);503.3.5 Session對(duì)象對(duì)象 存儲(chǔ)局部的、特定于用戶的信息。存儲(chǔ)局部的、特定于用戶的信息。 當(dāng)新用戶請(qǐng)求應(yīng)用程序的網(wǎng)頁(yè)時(shí),當(dāng)新用戶請(qǐng)求應(yīng)用程序的網(wǎng)頁(yè)時(shí),ServerServer 對(duì)對(duì)象會(huì)檢查用戶是否有象會(huì)檢查用戶是否有 SessionIDSessionID 對(duì)應(yīng)于
29、瀏覽器與服務(wù)器的同一次會(huì)話,在瀏覽對(duì)應(yīng)于瀏覽器與服務(wù)器的同一次會(huì)話,在瀏覽器第一次請(qǐng)求應(yīng)用程序的某個(gè)頁(yè)面時(shí),會(huì)話開器第一次請(qǐng)求應(yīng)用程序的某個(gè)頁(yè)面時(shí),會(huì)話開始;在會(huì)話超時(shí)或被關(guān)閉時(shí),會(huì)話結(jié)束。始;在會(huì)話超時(shí)或被關(guān)閉時(shí),會(huì)話結(jié)束。在用在用戶會(huì)話期間可以記錄和監(jiān)視特定于用戶的信息戶會(huì)話期間可以記錄和監(jiān)視特定于用戶的信息 可以在可以在Global.asaxGlobal.asax文件中編寫文件中編寫Session_StartSession_Start和和Session_EndSession_End事件處理程序。事件處理程序。51Session 變量變量 Session 變量與 Application 變
30、量不同 Session 變量?jī)H提供給會(huì)話中的特定用戶 Session 變量可用于存儲(chǔ)在整個(gè)用戶會(huì)話過(guò)程中都可以訪問的值52 private void btnLogin_Click(object sender, System.EventArgs e) if(this.txtName.Text.Trim()!= | this.txtPwd.Text.Trim()!=) if(this.txtName.Text=張三 & this.txtPwd.Text= 123456) SessionUserName=this.txtName.Text.Trim(); Response.Redirect(
31、SessionVariableWelcome.aspx?pwd= +this.txtPwd.Text ); else SessionUserName=;RegisterStartupScript(Check,alert(用戶名或密碼不對(duì),請(qǐng)檢查!); ); else SessionUserName=; 53使用示例使用示例private void Page_Load(object sender, System.EventArgs e)if(SessionUserName.ToString().Trim()!=) Response.Write (alert(歡迎 +SessionUserName
32、 + 光臨,你的密碼是: +Requestpwd.ToString()+);else Response.Redirect(SessionVariableNew.aspx);54使用示例使用示例55Session事件事件 Session_Start當(dāng)新用戶訪問一個(gè)應(yīng)用程序時(shí)會(huì)激活該事件 Session_End用戶退出應(yīng)用程序時(shí),就會(huì)觸發(fā) Session_End 事件56Session 屬性屬性Session 事件Session_StartSession_End屬性說(shuō)明SessionID包含一個(gè)唯一的用戶會(huì)話標(biāo)識(shí)符。它用于在會(huì)話過(guò)程中跟蹤用戶的信息。要檢索 SessionID,使用 Session
33、.SessionIDTimeOut設(shè)置用戶超時(shí),即它以分鐘為單位指定 Session 對(duì)象在釋放資源之前能夠保持閑置的時(shí)間。用戶可導(dǎo)航至另一個(gè)站點(diǎn)而不用關(guān)閉該應(yīng)用程序。如果設(shè)定了超時(shí)屬性,則無(wú)人操作的用戶會(huì)話可被清除,由此釋放服務(wù)器的資源。 默認(rèn)值為 20 分鐘??赏ㄟ^(guò)在 ASPX 文件中賦值來(lái)更改此設(shè)置。例如,LCID用于設(shè)定本地標(biāo)志符. 它可存儲(chǔ)本地信息,如日期、貨幣和時(shí)間格式。例如 Session.LCID = 0 x040C 將本地標(biāo)識(shí)符設(shè)定為法國(guó)本地標(biāo)識(shí)符IsNewSession若該會(huì)話是由當(dāng)前請(qǐng)求創(chuàng)建的,該屬性將返回值 trueItem獲取或設(shè)置會(huì)話值的名稱Count獲得會(huì)話狀態(tài)集
34、合中的項(xiàng)數(shù)Application 和和Session的區(qū)別的區(qū)別 1、application是全局對(duì)象,在程序運(yùn)行時(shí)建立,只被創(chuàng)建一次。也就是說(shuō)雖然你的程序發(fā)布了,但是這個(gè)時(shí)候你的程序并沒有被運(yùn)行,所以application對(duì)象沒有被創(chuàng)建,而這個(gè)時(shí)候有一個(gè)人訪問了你的網(wǎng)站,那么你的程序就被第一次運(yùn)行了,從而使application對(duì)象被創(chuàng)建,當(dāng)?shù)诙€(gè)人訪問你的網(wǎng)站的時(shí)候application對(duì)象是不會(huì)被再次創(chuàng)建的,可以拿過(guò)來(lái)就使用。我們可以使用application對(duì)象統(tǒng)計(jì)在線的用戶數(shù)。一句話總結(jié):application對(duì)象可以多用戶同時(shí)使用。2、session是會(huì)話的意思,一個(gè)用戶對(duì)應(yīng)一個(gè)s
35、ession,用戶訪問網(wǎng)站的時(shí)候session被建立,用戶關(guān)閉網(wǎng)頁(yè)的時(shí)候session被釋放。session可以用來(lái)保存用戶登陸信息等。583.3.6 Cookie介紹介紹 Cookie俗稱甜餅,可以在客戶端長(zhǎng)期保存信息。它是服務(wù)器端發(fā)送到客戶端瀏覽器的文本串句柄,保存在客戶的硬盤上。 其是寫入客戶端的一些小文件,當(dāng)用戶再次訪問某站點(diǎn),應(yīng)用程序檢索以前保存的信息(個(gè)人信息,瀏覽器信息,何時(shí)訪問過(guò)該站,從事哪些活動(dòng)等)59Cookie的基本工作原理的基本工作原理 假設(shè)用戶請(qǐng)求訪問網(wǎng)站上的某個(gè)頁(yè)面時(shí),應(yīng)用程序發(fā)送給該用戶的不僅僅只有一個(gè)頁(yè)面,還有一個(gè)包含日期和時(shí)間信息的Cookie,用戶的瀏覽器在
36、獲得頁(yè)面的同時(shí)還得到了這個(gè) Cookie,并且將它保存在用戶硬盤上的某個(gè)文件夾中。以后,如果該用戶再次訪問該網(wǎng)站上的頁(yè)面,瀏覽器就會(huì)在用戶本地硬盤上查找與該URL相關(guān)聯(lián)的Cookie。如果該Cookie存在,瀏覽器就將它與頁(yè)面請(qǐng)求一起發(fā)送到網(wǎng)站,應(yīng)用程序就能讀取Cookie信息從而能確定該用戶上一次訪問網(wǎng)站的日期和時(shí)間。程序可以根據(jù)這些信息向用戶輸出相應(yīng)的消息。 60 Cookie對(duì)象其實(shí)是:利用Response對(duì)象的Cookies方法設(shè)置Cookies;利用Request對(duì)象的Cookies獲取方法來(lái)獲取Cookies的值。屬性:Expires: 獲取或設(shè)置此 Cookie 的過(guò)期日期和時(shí)間
37、,默認(rèn)1000分鐘。Name: 獲取或設(shè)置 Cookie 的名稱。Value: 獲取或設(shè)置單個(gè) Cookie 值。 61 存儲(chǔ)一個(gè) Cookie 變量: Response.Cookie“name”.Value = “zhangsan”;讀取一個(gè) Cookie 變量: Request.Cookiename.Value;設(shè)置Cookie到期時(shí)間: Response.Cookiename.Expires = #2008/10/1;62設(shè)置設(shè)置Cookie代碼代碼 HttpCookie mycookie=new HttpCookie(userage);mycookie.Value=23.ToString();mycookie.Expires=DateTime.Now.AddDays(3);Response.Cookies.Add(mycookie);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)士聘用合同樣本
- 恐怖襲擊防控人防施工合同
- 交通運(yùn)輸庫(kù)房管理員招聘合同
- 人工智能技術(shù)應(yīng)用投資合同三篇
- 采購(gòu)合同范例帶附件格式
- 閥門研磨合同范例
- 填寫裝修合同范例
- 生物科技園區(qū)建設(shè)及裝修工程合同三篇
- 外雇人員安全生產(chǎn)管理協(xié)議書
- 工業(yè)污水處理運(yùn)營(yíng)服務(wù)合同范本
- 廣告牌拆除施工方案
- 某機(jī)械廠降壓變電所電氣初步設(shè)計(jì)
- 2014附件3桿塔高處作業(yè)防墜技術(shù)措施0825
- 建筑工程掛靠協(xié)議書范本3篇
- 細(xì)胞信號(hào)傳導(dǎo)
- 工程設(shè)計(jì)變更管理臺(tái)賬
- NJR2-D系列軟起動(dòng)器出廠參數(shù)設(shè)置表
- (財(cái)務(wù)預(yù)算編制)全面預(yù)算例題及答案
- 光纜分光分纖盒施工及驗(yàn)收方案
- 10000噸新型干法水泥廠優(yōu)秀畢業(yè)設(shè)計(jì)設(shè)計(jì)優(yōu)秀畢業(yè)設(shè)計(jì)水泥廠10000噸水泥
- 《新課改背景下微型化學(xué)實(shí)驗(yàn)的探究》課題實(shí)驗(yàn)結(jié)題報(bào)告
評(píng)論
0/150
提交評(píng)論