我希望通过动态地从记录集(或数组)创建这些常量来替换包含文件~ 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