2009-12-01 75 views
1

有沒有辦法將VBScript頁面包含到使用Javascript編寫的ASP頁面中?ASP Classic - 在JavaScript頁面中包含VBScript頁面?

有一個用Javascript編寫的ASP頁面,但我們的邊欄菜單是用VBScript編寫的。當我將邊欄asp文件包含到Javascript中時,服務器會給出錯誤信息。

<%@ LANGUAGE = 「JavaScript的」 %>

<%

...

<! - #include文件= 「sidebar.asp」 - >

...

其中sidebar.asp是使用VBScript編寫的。

回答

1

你可以試試這個,但我的猜測是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

0

我一直這樣做,但我寫我的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塊內部。這對你有用嗎?