如何在 ASP Classic (javascript) 中循环或访问对象集合?
How to loop or access Object Collection in ASP Classic (javascript)?
所以我在我的工作场所找到了这个旧的 Web 应用程序(asp 经典)并被要求修改它。我想做的是,我想显示这个特定文件夹中的所有文件。我没有使用 link 对每个文件名进行硬编码,而是尝试如下:
<%
var fs = new ActiveXObject("Scripting.FileSystemObject");
var fo = new ActiveXObject("Scripting.FileSystemObject");
var f = new ActiveXObject("Scripting.FileSystemObject");
var theFile = new ActiveXObject("Scripting.FileSystemObject");
fo=fs.GetFolder("C:\inetpub\wwwroot\edocument\MyFiles");
f = fo.Files;
For Each theFile in f
Response.write(theFile.Name+"<br>");
Next
%>
似乎 For Each
循环不会 work/not 在 asp javascript
中被识别,但发现了一些使用 vbscript
的工作示例。我也试过直接访问集合:
Response.write(f[0].Name);
但是它说 ...is null or not an object
知道如何访问此文件集吗?
在 javascript 中,您需要一个 Enumerator()
to walk the collection,然后使用 for next
或 while
,如下例所示
<% @LANGUAGE="JScript" %>
<%
var fso = Server.CreateObject("Scripting.FileSystemObject");
var fo = fso.GetFolder("C:\inetpub\wwwroot\edocument\MyFiles");
var f = new Enumerator(fo.Files);
f.moveFirst()
while (!f.atEnd()) {
Response.Write(f.item().name + "<BR>");
f.moveNext();
}
fo = null;
f = null;
fso = null;
%>
所以我在我的工作场所找到了这个旧的 Web 应用程序(asp 经典)并被要求修改它。我想做的是,我想显示这个特定文件夹中的所有文件。我没有使用 link 对每个文件名进行硬编码,而是尝试如下:
<%
var fs = new ActiveXObject("Scripting.FileSystemObject");
var fo = new ActiveXObject("Scripting.FileSystemObject");
var f = new ActiveXObject("Scripting.FileSystemObject");
var theFile = new ActiveXObject("Scripting.FileSystemObject");
fo=fs.GetFolder("C:\inetpub\wwwroot\edocument\MyFiles");
f = fo.Files;
For Each theFile in f
Response.write(theFile.Name+"<br>");
Next
%>
似乎 For Each
循环不会 work/not 在 asp javascript
中被识别,但发现了一些使用 vbscript
的工作示例。我也试过直接访问集合:
Response.write(f[0].Name);
但是它说 ...is null or not an object
知道如何访问此文件集吗?
在 javascript 中,您需要一个 Enumerator()
to walk the collection,然后使用 for next
或 while
,如下例所示
<% @LANGUAGE="JScript" %>
<%
var fso = Server.CreateObject("Scripting.FileSystemObject");
var fo = fso.GetFolder("C:\inetpub\wwwroot\edocument\MyFiles");
var f = new Enumerator(fo.Files);
f.moveFirst()
while (!f.atEnd()) {
Response.Write(f.item().name + "<BR>");
f.moveNext();
}
fo = null;
f = null;
fso = null;
%>