在经典ASP中创建数组,在javascript

时间:2015-09-03 17:52:46

标签: javascript arrays asp-classic

我有一个ASP经典网页,它将目录中文件的内容加载到服务器端数组中供以后使用。然后我用javascript解析这个数组来完成我需要的工作。但是,我的javascript找不到数组。在javascript中访问我的数组需要做什么?

在ASP中,我读取了目录,对于目录中的每个文件,我添加了<select> <option>,并在我的服务器端数组中添加了一个条目:

        Response.Write "<select name='cmbTemplate' id='cmbTemplate' onChange='templateIt();'>"
        Response.Write "<option value=''>[No Template]</option>"

        DIM fs,fo,fi,dot,ext,name,ix,ts
        CONST ForReading = 1

        Set fs=Server.CreateObject("Scripting.FileSystemObject")

        Redim vbTemplateArray(0)
        ix=-1
        If fs.FolderExists(strDirectory) Then
            Set fo=fs.GetFolder(strDirectory)
            for each fi in fo.files
                ix=ix+1
                Response.Write("<option value='"&ix&"'>"&name&"</option>")
                Set ts = fs.OpenTextFile(strDirectory&fi.Name, ForReading)
                Redim Preserve vbTemplateArray(ix)
                While not ts.AtEndOfStream
                    vbTemplateArray(ix) = vbTemplateArray(ix) + ts.ReadLine
                Wend
                ts.Close
            next
        End If
        Response.Write "</select>"
    End If

我看到它在我的javascript块中读到,我可以使用一个名为VBArray的javascript例程来执行转换,但它似乎没有找到我想要转换的数组:

function templateIt() {
    var jsTemplateArray = VBArray(<%=vbTemplateArray%>).toArray();
    ...
}

我收到错误:VBArray: argument is not a VBArray object

建议?

0 个答案:

没有答案
相关问题