ASP Classic - Включить страницу VBScript в страницу JavaScript? - PullRequest
1 голос
/ 02 декабря 2009

Есть ли способ включить страницу VBScript в страницу ASP, написанную с использованием Javascript?

Существует страница ASP, написанная на Javascript, но наше меню боковой панели написано на VBScript. Когда я включаю asp-файл боковой панели в Javascript, сервер выдает ошибку.

<% @ LANGUAGE = "JavaScript"%>

<% </p>

...

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

...

где sidebar.asp написан с использованием VBScript.

Ответы [ 2 ]

1 голос
/ 02 декабря 2009

Вы можете попробовать это, но я предполагаю, что sidebar.asp будет выполняться перед вашим кодом Javascript.

< %@ LANGUAGE="JavaScript" %>

<%

...
<script language="VBscript" runat=server> 
< !--#include file="sidebar.asp"-->
</script> 
...
0 голосов
/ 06 января 2012

Я делаю это все время, но я пишу свои страницы 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. Будет ли это работать для вас?

...