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

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

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

      2、對集合的操作

      1) 增加值到Contents集合

      增加值到Contents集合的方法,與在global.asa網頁的腳本代碼中使用過的方法相同。允許把一個新的Variant值增加到Application對象中,并已有建議的名字和值(可根據需要進行編輯),單擊按鈕,重新載入這個網頁,把值增加到Application.Contents集合中,并且在列表中顯示。

      增加新的Contents條目的代碼

      所有的按鈕和其他HTML控件放置在示例網頁中的一個窗體上。ACTION設置了當前網頁的路徑,提交該窗體時,重新裝入。METHOD屬性為“POST”,所以控件中的值出現在Request.Form集合中。在以前的章節中采用過這兩種技術:

      <FORM ACTION=”<% = Request.ServerVariables(“SCRIPT_NAME”) %>” METHOD=”POST”>

      該窗體上的按鈕都是普通的HTML INPUT控件,具有相同的標題(三個空格)但名字不同。例如,創建第一個按鈕(把值增加到Application對象中)的代碼是:

      <INPUT TYPE=”SUBMIT” NAME=”cmdAdd” VALUE=” ”>

      重新載入該網頁時,檢查Request.Form集合,判定單擊的是哪個SUBMIT按鈕,并進行相應的處理。如果是增加一個值到Application對象的按鈕(該按鈕在HTML的<INPUT>元素中被命名為cmdAdd),使用下面的程序段:

      以下為引用的內容:

      If Len(Request.Form("cmdAdd")) Then

      strVarName = Request.Form("txtVarName")

      strVarValue = Request.Form("txtVarValue")

      Application.Lock

      Application("strVarName") = strVarValue

      Application.Unlock

      End If

      注意程序如何使用Application.Lock和Application.Unlock方法,確保這些值不會因兩個用戶并發地訪問而產生混亂。如果只是對一個特定的值進行設置,一般不可能發生這種情況。但一直使用Lock和Unlock方法是明智的。

      2) Contents集合中刪除值

      通過遍歷Contents集合(如前面我們所做的)執行ASP網頁時,創建該列表。但是,我們僅收集每項的名字并把它們放到<SELECT>列表元素內的<OPTION>元素中:

      以下為引用的內容:

      <SELECT NAME=”lstRemove” SIZE=”1”>

      <%

      For Each objItem in Application.Contents

      Response.Write “<OPTION>” & objItem & “</OPTION>”

      Next

      &>

      </SELECT>

      該ASP代碼執行以后,在瀏覽器中看到的結果是:

      以下為引用的內容:

      <SELECT NAME=”lstRemove” SIZE=”1”>

      <OPTION>ADOConnection</OPTION>

      <OPTION>Variant_Array</OPTION>

      <OPTION>Start_Time</OPTION>

      <OPTION>Visit_Count</OPTION>

      <OPTION>My_New_Value</OPTION>

      </SELECT>

      (1) 刪除單個值

      當單擊按鈕刪除單個值時,該窗體再次提交給相同的網頁,但是這一次將設立一個為cmdRemoveThis的SUBMIT按鈕,然后調用Application.Contents集合的Remove方法:

      以下為引用的內容:

      If Len(Request.Form("cmdRemoveThis")) Then

      strToRemove = Request.Form("lstRemove")

      Response.Write "strToRemove = " & strToRemove

      Application.Lock

      Application.Contents.Remove(strToRemove)

      Application.Unlock

      End If

      注意這是Contents集合的一個方法,而不是Application對象的。語法是Application.Contents.Remove,而不是Application.Remove。
      從Contents集合中刪除Start_Time值的結果。

      (2) 刪除所有的值

      如果單擊三個SUBMIT類型按鈕中的最后一個,該網頁中的代碼將檢測到單擊的按鈕為cmdRemoveAll,將執行 Application.Contents集合的RemoveAll方法:

      以下為引用的內容:

      If Len(Request.Form("cmdRemoveAll")) Then

      Application.Lock

      Application.Contents.RemoveAll

      Application.Unlock

      End If

      再次提醒,這是Contents集合的一個方法,而不是Application。語法是Application.Contents.RemoveAll,而不是Application.RemoveAll。

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

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