我一直这样做,但我编写的 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.asp
到mainpage.asp
. 然后,它评估 JScriptSCRIPT
块,声明变量name
、address
和phone
定义函数main
。
然后它<% %>
按顺序评估每个标签。<% main() %>
调用main
函数并设置name
、address
和的值phone
。然后<%= name %>
, <%= address %>
, 并将<%= phone %>
这些值替换到页面中。最后,对<% %>
from 的代码subpage.asp
进行评估,Response.Write
值最终出现在页面输出中。
虽然整个页面不是用 JScript 编写的,但绝大多数代码都可以在SCRIPT
块内。这对你有用吗?