我正在重新设计网页的一部分,以便将来更容易更新。目前,它是一系列硬编码的表。要重新设计表格(例如,按我想要的字母顺序排列),需要手动交换 html 中的许多值。
这就是我想做的:创建一个带有标题和链接变量的 url_Link 对象,分别保存显示名称和 url。创建一个 url_Link 对象数组,并将其填充到页面的 .asp 文件顶部。对这些数组执行 for each 循环以构建和填充表
这本身并不是那么糟糕,但我遇到了两个问题。首先,我不想定义数组大小,因为这是在更改链接数量时必须更改的第二个位置。会有一些逻辑来阻止显示某些 url_Link 对象(例如,某些用户无法访问某些页面,因此他们不会看到链接),这会在调整数组大小时引起问题。
我知道我可以制作大尺寸的数组,但这对我来说似乎很浪费(而且我不知道每个函数如何,也不希望出现一堆空行)。
我能做些什么来解决这些问题?我对 vbscript 不是很了解,而且我一直在使用的大多数代码都没有利用数组或对象。
更新:我尝试使用 redim PRESERVE 来修剪超大数组的多余脂肪。问题是,在某些情况下,由于 if 条件,我的数组填充的对象数量少于其最大大小。当我使用 for 循环(试图让 for each 工作而目前没有发生)时,这会导致问题。我在 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)