可以动态地填充经典ASP常量(CONST)吗?



我希望通过动态地从记录集(或数组)创建这些常量来替换包含文件~ 25声明的常量。我试过循环通过一个记录集,也试过填充一个2D数组,然后试图从数组值设置这些常数,但它似乎采取什么是"常量"之后;文字,而不是值。

If (not rsVars.Eof) Then
cCount = rsVars.RecordCount
ReDim cArray(cCount - 1, 1)
For i = 0 To cCount - 1
cArray(i, 0) = rsVars("VariableNm")
cArray(i, 1) = rsVars("Value")
rsVars.MoveNext
Next
End If
For i = 0 To cCount - 1
' Display the Array Elements - WORKS and Displays All Variables and Desired Values  
Response.write "("&(i+1)&") " & cArray(i, 0) & " = " & cArray(i, 1) & "<br>"
' Attempt to set Constant Variables - this next line errors - "Name_redefined"
Const cArray(i, 0) = cArray(i, 1)
Next

您可以使用服务器。执行方法来实现这一点。但是它需要一个FILE路径来完成。

您需要使用FileSystemObject动态地创建一个文件,并将文件的完整路径传递给服务器。方法使这些变量作为常量可用。例:constants.asp

注意

值在用户会话和请求之间将是CONSTANT。

如果你需要用户、公司、日期等不同的常量集,你需要更改文件名以包含唯一的常量-.asp并执行该文件。

引用

https://www.w3schools.com/asp/met_execute.asp

https://www.w3schools.com/ASP/asp_ref_filesystem.asp

最新更新