如何在ASP中遍歷和操作Application對象的集合_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:一些值得收藏的ASP代碼
      值得收藏的一些ASP代碼值得收藏的一些ASP代碼 1. oncontextmenu=window.event.returnvalue=false 將徹底屏蔽鼠標(biāo)右鍵 table border oncontextmenu=return(false)tdno/table 可用于Table 2. body onselectstart=return false 取消選

      為了能夠正常使用,必須把它們放到服務(wù)器上的一個(gè)虛擬應(yīng)用程序內(nèi),并且把所提供的global.asa文件放到該應(yīng)用程序的根目錄中。最簡單的辦法是把global.asa文件放到缺省Web網(wǎng)站的根目錄(缺省情況下是C:/InetPub/WWWRoot)中。

      對任何已有的global.asa文件重命名是一個(gè)好辦法,可以在以后對該文件進(jìn)行恢復(fù)。

      1. 顯示Application集合的內(nèi)容

      ASPCounter對象是StaticObjects集合的一個(gè)成員(通過<OBJECT>元素進(jìn)行定義),但是其余部份(由Server.CreateObject實(shí)例化)是Contents集合的成員。

      可以看到使用global.asa例子網(wǎng)頁放到這些集合中的值,這在前面已經(jīng)看到:

      以下為引用的內(nèi)容:

      <!-- Declare instance of the ASPCounter component with

      application-level scope //-->

      <OBJECT ID=”ASPCounter” RUNAT=”Server” SCOPE=”Applicatoin”

      PROGID=”MSWC.Counters”>

      </OBJECT>

      ...

      ...

      <SCRIPT LANGUAGE=”VBScript” RUNAT=”Server”>

      Sub Application_onStart()

      ‘Create an instance of an ADO Connection with application-level scope

      Set Application(“ADOConnection”) = Server.CreateObject(“ADODB.Connection”)

      Dim varArray(3) ‘Create a Variant array and fill it

      varArray(0) = “This is a”

      varArray(1) = “Variant array”

      varArray(2) = “stored in the”

      varArray(3) = “Application object”

      Application(“Variant_Array”) = varArray ‘Store it in thd Application

      Application(“Start_Time”) = CStr(Now) ‘Store the date/time as a string

      Application(“Visit_Count”) = 0 ‘Set counter variable to zero

      End Sub

      ...

      ...

      </SCRIPT>

      (1) 遍歷Contents集合的代碼

      為了遍歷Contents集合,可使用一個(gè)For Each ... Next結(jié)構(gòu)。集合中的每一項(xiàng)可以是一個(gè)簡單的Variant類型變量、一個(gè)Variant數(shù)組或者一個(gè)對象的引用。因?yàn)樾枰獙γ糠N類型的值進(jìn)行不同的處理,所以就不得不對每一個(gè)進(jìn)行檢查來判別其類型。

      在VBScript中可使用VarType函數(shù)完成這個(gè)工作。這里使用IsObject和IsArray函數(shù)代替:

      以下為引用的內(nèi)容:

      For Each objItem in Application.Contents

      If IsObject(Application.Contents(objItem)) Then

      Response.Write “Object reference: ‘” & objItem & “’

      ElseIf IsArray(Application.Contents(objItem)) Then

      Response.Write “Array: ‘” & objItem & “’ contents are:

      VarArray = Application.Contents(objItem)

      ‘Note: the following only works with a one-dimensional array

      For intLoop = 0 To UBound(varArray)

      Response.Write “ Index(“ & intLoop & “) = “ & _

      VarArray(intLoop) & “


      Next

      Else

      Response.Write “Variable: ‘” & objItem & “’ = “ _

      & Application.Contents(objItem) & “


      End If

      Next

      注意程序如何從Application對象檢索該數(shù)組。將其分配給一個(gè)局部(Variant)變量,使用下面的語句:

      varArray = Application.Contents(objItem)

      使用UBound函數(shù)可以查找出數(shù)組的大小(元素的數(shù)量),這個(gè)值可以作為遍歷的終止條件:

      For intLoop = 0 UBound(varArray)

      這個(gè)例子是一維數(shù)組,并將只顯示這樣的一個(gè)數(shù)組的內(nèi)容。可根據(jù)需要編輯代碼以處理多維數(shù)組,例如:

      以下為引用的內(nèi)容:

      For intLoop = 0 To UBound(varArray)

      IntNumberOfDimensions = UBound(varArray, 1)

      For intDimension = 0 To intNumberOfDimensions

      Response.Write “ Index(“ & intLoop & “) = “ _

      & varArray(intLoop, intDimension)

      Next

      Response.Write “”

      Next

      (2) 遍歷StaticObjects集合的代碼

      StaticObjects集合包含了所有在global.asa中使用<OBJECT>元素聲明的對象引用。因?yàn)槊總(gè)條目都是一個(gè)對象變量,可用簡單些的代碼對這個(gè)數(shù)組進(jìn)行遍歷。我們將輸出對象的名字(在ID屬性中原有的定義):

      以下為引用的內(nèi)容:

      For Each objItem in Application.StaticObjects

      If IsObject(Application.StaticObjects(objItem)) Then

      Response.Write “<OBJECT> element: ID=’” & objItem & “’

      End If

      Next

      分享:ASP編程中11種數(shù)據(jù)庫的常用語法
      本文主要介紹了ASP連接11種數(shù)據(jù)庫的常用語法,詳細(xì)內(nèi)容請參考下文: 1.Access數(shù)據(jù)庫的DSN-less連接方法: 以下為引用的內(nèi)容: set adocon=Server.Createobject(adodb.connection) adoconn.OpenDriver={Microsoft Access Driver(*.mdb)};DBQ= _ Server.MapPath

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:ASP教程/更新時(shí)間:2009-03-13
      相關(guān)ASP教程