我正在重新設計網頁的一部分,以便將來更容易更新。目前,它是一系列硬編碼的表格。要重新設計表格(例如,按照我想要的字母順序),需要手動交換html中的很多值。如何以可變大小在vbscript中實現數組
這就是我想要做的: 用標題和鏈接變量創建一個url_Link對象,分別保存顯示名稱和url。 創建一個url_Link對象數組,並將其填充到該頁面的.asp文件頂部。 對這些陣列上的每個迴路執行一次構建和填充表格
這本身並不是很糟糕,但我遇到了兩個問題。 首先,我不想定義數組的大小,因爲這使得第二個地方必須在鏈接數量發生變化時進行更改。 將會有一些邏輯來阻止顯示某些url_Link對象(例如,某些用戶無法訪問某些頁面,因此他們將看不到鏈接),這會在調整數組大小時導致問題。我知道我可以製作一個大尺寸的數組,但這對我來說似乎很浪費(我不知道每個函數如何,也不希望大量的空行顯示出來)。
我能做些什麼來解決這些問題?我對vbscript不是很瞭解,並且大多數我一直在使用的代碼沒有利用數組或對象。
更新: 我已經嘗試使用redim PRESERVE修剪超大型陣列的多餘脂肪。問題在於,在某些情況下,由於條件限制,我的數組所填充的對象數量比最大數量少。這在稍後使用for循環時會導致問題(試圖讓每個人都工作,而此時不會發生這種情況)。我得到的錯誤「這個數組被固定或臨時鎖定」在REDIM線
代碼:
dim systemSettingsArray(1)
arrayCounter = 0
if ADMIN = "Y" then
set systemSettingsArray(arrayCounter) = (new url_Link).Init("Account Administration","Maintenance/Account_Admin.asp")
arrayCounter = arrayCounter + 1
end if
set systemSettingsArray(arrayCounter) = (new url_Link).Init("Time Approval","Maintenance/system_Time_Approval.asp")
redim Preserve systemSettingsArray(arrayCounter)
「DIM一個(1)」 創建了一個固定的(非使用ReDim-能)陣列2個元素索引0和1,使用 「DIM一個:A =陣列()」 或 「一個REDIM(-1)」,以創建一個空的ReDim-able數組。 –