Я делаю это все время, но я пишу свои страницы 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.asp
в mainpage.asp
. Затем он оценивает блок JScript SCRIPT
, объявляя переменные name
, address
и phone
и определяя функцию main
.
Затем он оценивает каждый тег <% %>
по порядку. <% main() %>
вызывает функцию main
и устанавливает значения для name
, address
и phone
. Затем <%= name %>
, <%= address %>
и <%= phone %>
подставляют эти значения на страницу. Наконец, код <% %>
из subpage.asp
оценивается, и значение Response.Write
заканчивается в выводе страницы.
Хотя вся страница написана не на JScript, подавляющее большинство кода может находиться внутри блока SCRIPT
. Будет ли это работать для вас?