ASP Classic - 在JavaScript页面中包含VBScript页面?

问题描述:

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

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

<%@ LANGUAGE = “JavaScript的” %>

<%

...

<! - #include文件= “sidebar.asp” - >

...

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

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

< %@ LANGUAGE="JavaScript" %> 

<% 

... 
<script language="VBscript" runat=server> 
< !--#include file="sidebar.asp"--> 
</script> 
... 
+0

这不适合我。我得到的第一个错误是我必须使用脚本标记的src属性。当我将sidebar.asp作为src时,我在ASP内容上发现错误( Justin 2009-12-02 16:01:17

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

mainpage.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> 

subpage.asp:

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

因此,首先IIS处理SSI和包括subpage.aspmainpage.asp。然后,它评估JScript SCRIPT块,声明变量name,addressphone并定义功能main

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

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