2009-01-15 41 views

回答

3

你可以使用一個IFRAME標籤...但它是一個有點蘇茨基。我會做什麼Phantom Watson說。

1

我不完全確定你在問什麼。如果您試圖將.asp文件包含到.html文件中,我不相信這是可能的。如果你改變你的文件的擴展名的.shtml,那麼你可以把下面的行成HTML文件:

<!--#include virtual="path to asp file/include-file.asp" --> 

現在,ASP是否會被解析或代碼會顯示將要得到解決由理解服務器解析的人比我更好。

什麼是更好的解決方案是隻包含一個ASP文件到另一個ASP文件。如果你想要包含頁面在內的功能,那麼給你的文件.html或.shtml擴展名只會讓你很難完成你想要的東西。

基本上,對於要分析的文件使用.asp,對於可以按原樣向用戶提供的文件使用.html。

+0

問題是,該網站有需要的版權每年更新,這個想法是讓這個不必自動化許多舊的HTML文件跳過重命名文件和鏈接到他們的鏈接。他們已經鏈接到一個常規的包含文件,但只能包含靜態內容。 – 2009-01-15 18:14:58

+0

有一種解決方法,將IIS解析html文件製作爲asp,但會影響服務器的性能,因爲所有包含或不包含的文件都將被解析,所以我試圖找到解決方法。 – 2009-01-15 18:16:07

1

您可以更改可執行文件的擴展,所以,如果你願意,你可以使html的可執行文件,這樣你可以包括文件或其他什麼做什麼..轉到IIS管理器(運行 - > INETMGR),選擇您的網站的性質,在'Home directory'標籤下按'Configuration ..'你可以在那裏添加一個擴展名和一個可執行文件(你可以插入與.asp相同的文件)

但我不認爲這是一個最好的選擇: )如果它是exetutable,它應該是.asp,如果它不是 - html

1

其中一種可能的解決方案是將頁面的擴展名從.html更改爲.asp,因爲它對頁面和頁面沒有任何影響執行。然後,您可以正常包含.asp文件在.asp文件中解析。

0

我知道這是一個老問題,但對於那些有興趣,有給它一個解決方案,如果你正確的代碼,我想出如何與一些測試我做到了。我有一個工作的編碼版本,所以我知道它的工作原理,但我會盡力解釋它。

比方說你有一個頭,導航欄或頁腳(通常的地方,鮑里斯在他的評論中提到一個版權年/信息的)。但是,由於所涉及的鏈接以及其他網站鏈接到您的網站,您不希望更改這些文件的.html/.htm文件擴展名。

雖然鮑里斯它只是每個文件的頁腳,簡單的方法來做到這一點是通過將在以往的頁腳代碼放在HTML文件以下。

<script type="text/javascript" src="Footer.asp"></script> 

這是它的第一部分,接下來的部分是頁腳ASP文件,像這樣內使用JavaScript:

var Code =''; 
Code+='your html here'; 
Code+='more html here if needed'; 
document.write(Code); 

,你甚至可以把VAR上述功能以及這些功能將與不管你有什麼:Code+='your html here';現在你可能會有這樣的代碼:Code+='<form id="UserSignUp" name="UserSignUp" method="post" action="AddUser.asp">';,你可以說例如添加用戶到數據庫。

但在Boris的情況下,它是版權年,所以在同一個Footer.asp文件中,您有幾個選項。在Code+='your html here';中,您可以使用您創建/發現的代碼逐年更新,也可以每年僅在該文件中手動更新一次。

然而它引發了一個問題,爲什麼你不用Footer.js文件中的document.write();來代替版權年的第一個版本。除非你的版權年代碼在ASP中?

在哪個情況下,在JavaScript函數上方的Footer.asp文件中,只需添加您的ASP代碼,例如:rsYear("CopyrightYear") = Now以及您可能需要的其餘ASP代碼。

雖然在JavaScript中的線沿線的補充了一句:

Code+='<script>document.write("Copyright: <%=rsYear("CopyrightYear")%>");</script>';