1

有没有办法将 VBScript 页面包含到使用 Javascript 编写的 ASP 页面中?

有一个用 Javascript 编写的 ASP 页面,但我们的侧边栏菜单是用 VBScript 编写的。当我将侧边栏 asp 文件包含到 Javascript 中时,服务器会出错。

< %@ LANGUAGE="JavaScript" %>

<%

...

< !--#include file="sidebar.asp"-->

...

其中sidebar.asp 是使用VBScript 编写的。

4

2 回答 2

1

你可以试试这个,但我的猜测是 sidebar.asp 将在你的 Javascript 代码之前执行。

< %@ LANGUAGE="JavaScript" %>

<%

...
<script language="VBscript" runat=server> 
< !--#include file="sidebar.asp"-->
</script> 
...
于 2009-12-01T21:57:34.363 回答
0

我一直这样做,但我编写的 ASP/JScript 页面有点不同。我没有将页面语言切换为“JavaScript”,而是将其保留为默认的“VBScript”,然后<SCRIPT LANGUAGE="JavaScript" RUNAT="Server">为我的 JScript 代码使用一个块。JavaScriptSCRIPT块在普通<% %>标签之前执行,所以我在SCRIPT块中进行所有页面处理,然后简单地将结果插入带有<% %>标签的页面中。这是一个例子:

主页.asp:

<SCRIPT LANGUAGE="JavaScript" RUNAT="Server">
var name;
var address;
var phone;
function main() {
    var rec = go_to_database();
    name = rec.first_name + " " + rec.last_name;
    address = rec.address;
    phone = rec.phone;
}
</SCRIPT><% main() %>
<html><head><title><%= name %></title></head><body>
<p>Name: <%= name %><br/>
Address: <%= address %><br/>
Phone Number: <%= phone %></p>
<!--#include file="subpage.asp"-->
</body></html>

子页面.asp:

<p>Blah blah blah, some random VBScript code: <%
    Dim whatever
    whatever = some_silly_thing()
    Response.Write(whatever)
%>.</p>

因此,首先 IIS 处理 SSI 并包含subpage.aspmainpage.asp. 然后,它评估 JScriptSCRIPT块,声明变量nameaddressphone定义函数main

然后它<% %>按顺序评估每个标签。<% main() %>调用main函数并设置nameaddress和的值phone。然后<%= name %>, <%= address %>, 并将<%= phone %>这些值替换到页面中。最后,对<% %>from 的代码subpage.asp进行评估,Response.Write值最终出现在页面输出中。

虽然整个页面不是用 JScript 编写的,但绝大多数代码都可以在SCRIPT块内。这对你有用吗?

于 2012-01-06T17:22:44.497 回答