熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP應用程序八大對象介紹(下)

2022-06-13   來源: .NET編程 

  Response對象
  
  Response對象用於向客戶端浏覽器發送數據用戶可以使用該對象將服務器的數據以HTML的格式發送到用戶端的浏覽器它與Request組成了一對接收發送數據的對象這也是實現動態的基礎下面介紹它常用的屬性和方法
  
  Buffer屬性
  該屬性用於指定頁面輸出時是否要用到緩沖區默認值為False當它為True時直到整個Active Server Page執行結束後才會將結果輸出到浏覽器上
  <%ResponseBuffer=True%>
  <html>
  <Head>
  <title>Buffer示例</title>
  </head>
  <body>
  <%
  for i= to
  responsewrite(i & <br>)
  next
  %>
  </body>
  </html>
  這頁執行時整個主頁的所有內容會同時顯示在浏覽器上這個主頁會存在緩存區中直到腳本執行結束
  
  Expires屬性
  該屬性用於設置浏覽器緩存頁面的時間長度(單位為分)必須在服務器端刷新通過如下設置
  <%ResponseExpires=%>
  通過在ASP文件中加入這一行代碼要求每次請求是刷新頁面因為Response一收到頁面就會過期
  
  Write方法
  該方法把數據發送到客戶端浏覽器
  <%Responsewrite Helloworld!%>
  Redirect方法
  該方法使浏覽器可以重新定位到另一個URL上這樣當客戶發出Web請求時客戶端的浏覽器類型已經確定客戶被重新定位到相應的頁面
  <html>
  <head>
  <title>Redirect示例</title>
  </head>
  <body>
  <form aciton=formjumpasp method=post>
  <select name=wheretogo>
  <option selected value=fun>Fun</option>
  <option value=news>News</option>
  <option value=sample>Sample</option>
  </select>
  <input type=submit name=jump value=Jump>
  </form>
  </body>
  </html>   以上是提交的表單下面是處理表單的文件formjumpasp
  <%responsebuff=true%>
  <html>
  <head>
  <title>Redirect示例</title>
  </head>
  <body>
  <%
  thisurl=;
  where=Requestform(wheretogo)
  Select Case where
  case fun
  responseredirect thisurl & /fun/defaultasp
  case news
  responseredirect thisurl & /news/defaultasp
  case sample
  responseredirect thisurl & /sample/defaultasp
  End Select
  %>
  </body>
  <html>   這個例子當用戶選擇了以後Jump按鈕提交表單服務器接到申請後調用formjumpasp判斷後定位到相應的URL不過這裡有一點要注意HTTP標題已經寫入到客戶浏覽器任何HTTP標題的修改必須在寫入頁內容之前遇到這種問題時可以如下做
  在文件的開始<@ Language=>後寫
  ResponseBuffer=True
  在結尾定
  ResponseFlush
  這裡Flush是Response的一個方法它必須是Buffer屬性設置為True時才能使用否則會產生一個運行模式錯誤另外一個Clear方法也是用於清除被緩存的頁面同樣要Buffer屬性設置為True時才能使用
  
  End方法
  該方法用於告知Active Server當遇到該方法時停止處理ASP文件如果Response對象的Buffer屬性設置為True這時End方法即把緩存中的內容發送到客戶並清除沖區所以要取消所有向客戶的輸出民可以先清除緩沖區然後利用End方法
  <%
  Responsebuffer=true
  On error resume next
  Errclear
  if Errnumber<> then
  ResponseClear
  ResponseEnd
  end if
  %>
  
  Server 對象:
  
  Server 對象提供對服務器上的方法和屬性的訪問其中大多數方法和屬性是作為實用程序的功能服務的
  
  語法 Serverproperty|method
  
  屬性
  ScriptTimeout:
  ScriptTimeout 屬性指定腳本在結束前最大可運行多長時間 當處理服務器組件時超時限制將不再生效
  
  語法 ServerScriptTimeout = NumSeconds
  
  參數 NumSeconds
  指定腳本在被服務器結束前最大可運行的秒數默認值為
  
  注釋
  通過使用元數據庫中的AspScriptTimeout屬性可以為 Web 服務或 Web 服務器設置缺省的ScriptTimeout值ScriptTimeout屬性不能設置為小於在元數據庫中指定的值例如如果NumSeconds設置為而元數據庫設置包含了默認值則腳本在秒後超時但如果NumSeconds設置為則腳本在秒後超時
  
  關於使用元數據庫的詳細信息參閱 關於元數據庫
  
  示例  以下示例中如果服務器處理腳本超過 將使之超時
  <% ServerScriptTimeout = %>以下示例獲取 ScriptTimeout 屬性當前值並將其存儲在變量 TimeOut 中
  <% TimeOut = ServerScriptTimeout %>
  方法
  
  CreateObject
  CreateObject 方法創建服務器組件的實例如果該組件執行了 OnStartPage 和 OnEndPage 方法則此時就會調用 OnStartPage 方法有關服務器組件的詳細信息請參閱 可安裝的 ASP 組件
  語法 ServerCreateObject( progID )
  參數 progID 指定要創建的對象的類型progID 的格式為 [Vendor] component[Version]
  注釋 默認情況下由 ServerCreateObject 方法創建的對象具有頁作用域這就是說再當前 ASP 頁處理完成之後服務器將自動破壞這些對象要創建有會話或應用程序作用域的對象可以使用 <OBJECT> 標記並設置 SESSION 或 APPLICATION 的 SCOPE 屬性也可以在對話及應用程序變量中存儲該對象
  例如在如下所示的腳本中當 Session 對象被破壞即當對話超時時或 Abandon 方法被調用時存儲在會話變量中的對象也將被破壞
  <% Set Session(ad) = ServerCreateObject(MSWCAdRotator)%>可以通過將變量設置為 Nothing 或新的值來破壞對象如下所示第一個例子釋放 ad 對象第二個例子用字串代替 ad
  <% Session (ad) = Nothing %>
  <% Session (ad) = Other Valum %>不能創建與內建對象同名的對象實例 例如下列腳本將返回錯誤
  <% Set Response = ServerCreateObject(Response) %>
  示例
  
  <% Set MyAd = ServerCreateObject(MSWCAdRotator) %> 上面的例子創建一個名為 MyAd 的 MSWCAdRotator 服務器組件MSWCAdRotator 組件可用於在 Web 頁上的自動輪換廣告
  關於服務器組件的詳細信息 請參閱 Creating Components for ASP
  
  HTMLEncode
  HTMLEncode方法對指定的字符串應用 HTML 編碼
  語法  ServerHTMLEncode( string )
  參數  string 指定要編碼的字符串
  示例腳本  <%= ServerHTMLEncode(The paragraph tag: <P>) %>
  輸出  The paragraph tag: <P>
  注意 以上輸出將被 Web 浏覽器顯示為The paragraph tag: <P>如果查看一下源文件或以文本方式打開一個 Web 頁您就可以看到已編碼的 HTML
  
  MapPath
  MapPath 方法將指定的相對或虛擬路徑映射到服務器上相應的物理目錄上
  語法
  ServerMapPath( Path )
  參數
  Path 指定要映射物理目錄的相對或虛擬路徑若 Path 以一個正斜槓 (/) 或反斜槓 (\) 開始則 MapPath 方法返回路徑時將 Path 視為完整的虛擬路徑若 Path 不是以斜槓開始則 MapPath 方法返回同 asp 文件中已有的路徑相對的路徑
  注釋
  MapPath 方法不支持相對路徑語法 () 或 ()例如下列相對路徑 /MyDir/MyFiletxt 返回一個錯誤
  MapPath 方法不檢查返回的路徑是否正確或在服務器上是否存在
  因為 MapPath 方法只映射路徑而不管指定的目錄是否存在所以您可以先用 MapPath 方法映射物理目錄結構的路徑然後將其傳遞給在服務器上創建指定目錄或文件的組件
  示例
  對於下列示例文件datatxt和包含下列腳本的testasp文件都位於目錄C:\Inetpub\Wwwroot\Script下C:\Inetpub\Wwwroot目錄被設置為服務器的宿主目錄
  下列示例使用服務器變量 PATH_INFO 映射當前文件的物理路徑腳本
  <%= servermappath(RequestServerVariables(PATH_INFO))%><BR>
  輸出
  c:\inetpub\wwwroot\script\testasp<BR>
  由於下列示例中的路徑參數不是以斜槓字符開始的所以它們被相對映射到當前目錄此處是 C:\Inetpub\Wwwroot\Script腳本
  <%= servermappath(datatxt)%><BR>
  <%= servermappath(script/datatxt)%><BR>
  輸出
  c:\inetpub\wwwroot\script\datatxt<BR>
  c:\inetpub\wwwroot\script\script\datatxt<BR>
  接下來的兩個示例使用斜槓字符指定返回的路徑應被視為在服務器的完整虛擬路徑腳本
  <%= servermappath(/script/datatxt)%><BR>
  <%= servermappath(\script)%><BR>
  輸出
  c:\inetpub\script\datatxt<BR>
From:http://tw.wingwit.com/Article/program/net/201311/13215.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.