我在ASP中创建了一个页面,用以下代码加载动态内容:
<%
var1 = int(rnd * 5) + 1
var2 = int(rnd * 10) + 1
%>
<html>
<body>
what variable 1 is: <%=var1%>
what variable 2 is: <%=var2%>
</body>
</html>
然后我有另一个页面使用Server.Execute使用循环执行前面提到的2次以上的文件。代码如下所示:
<% filename = request.querystring("page") %>
<table class="domtable">
<% for j = 1 to 2%> <%qnumb = qnumb + 1%>
<tr>
<td align="left">
<%server.execute (filename)%>
<% If qnumb < 2 then%>
<br/><hr><br/>
<%end if%>
</td></tr>
<%next%>
</table>
所以在过去的几个月里,这对我来说非常合适,在两个单独的执行中为两个变量加载不同的数字。然后今天,我复制了我服务器上的一个文件夹,重命名它,现在神奇地说,变量是相同的数字,大约是刷新浏览器10次的9倍。
一个月前我的第二台服务器上的文件发生了同样的情况,我不得不删除第二台服务器上的所有文件,然后从我的第一台服务器下载它们(现在重复一台),然后上传它们回来并修复它。不幸的是,我没有下载我的第一台服务器的整个服务器内容,所以我无法逆转这个过程。所以我不确定这个问题是服务器端,还是与我正在编写的代码有关?我只是不知道为什么它会长时间工作然后停止工作。
我尝试过使用meta no-cache控件。我删除了之前从服务器复制的新文件夹,但是没有用。我还尝试删除过去几天上传的文件,这些文件也没有用。我已经尝试将'filename'加载为数组,例如:
filename(1) = request.querystring("page")
filename(2) = request.querystring("page")
for j = 1 to 2
Server.Execute(filename(j))
next
我真的希望有人知道我在这里做错了什么。
- 编辑 -
我也是这样做并得到相同的结果。
<%
'rnd.asp'
pStr = "private, no-cache, must-revalidate"
Response.ExpiresAbsolute = #2000-01-01#
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", pStr
server.execute ("rndj.asp")
response.write ("<hr>")
randomize(3)
server.execute ("rndj.asp")
%>
<%
'rndj.asp'
pStr = "private, no-cache, must-revalidate"
Response.ExpiresAbsolute = #2000-01-01#
Response.AddHeader "pragma", "no-cache"
Response.AddHeader "cache-control", pStr
randomize
response.write rnd
response.write "<br>"
response.write rnd
%>
我开始使用下面的代码,它将指定的文件作为纯文本查看并从中删除asp标记,然后使用Execute在原始文件中运行它。这个问题是我所有的页面,我称之为其他资源,替换脚本不会让我在包含行周围添加asp标记。
<%
Dim sTargetFile, sTargetFileContents
Dim oFSO, sContents
Function GetFileContentsForExecution(sTargetFile)
'Obtain a reference to the FileSystemObject
Set oFSO = Server.CreateObject("Scripting.FileSystemObject")
'Obtain the file contents
sContents = oFSO.OpenTextFile(Server.MapPath(".") & "\" & sTargetFile).ReadAll
Set oFSO = Nothing 'reference to the FileSystemObject
'Remove the ASP scripting tags
rand = int(rnd * 2)
sContents = Replace (sContents, "<" & "%", "")
sContents = Replace (sContents, "%" & ">", "")
GetFileContentsForExecution = sContents
End Function
sTargetFile = "rndj.asp"
for j = 1 to 6
'Get the contents of the file to execute
sTargetFileContents = GetFileContentsForExecution(sTargetFile)
Execute sTargetFileContents
next
if j < 3 then
response.write ("<br/><hr><br/>")
end if
%>
答案 0 :(得分:0)
<%
'rnd.asp'
randomize
application("randomseed") = rnd
server.execute ("rndj.asp")
application("randomseed") = rnd
server.execute ("rndj.asp")
%>
<%
'rndj.asp'
randomize application("randomseed")
response.write rnd
response.write("<br />")
response.write rnd
response.write("<br />")
response.write("<br />")
%GT;