2011-08-04 147 views
4

如何在asp.net網頁中包含external html file。在PHP中我們可以使用include函數,如果asp.net有類似的功能,請告訴我。我的意圖是,我有一個共同的標題HTML文件,所以我需要在所有aspx頁面中包含該文件。如何在asp.net頁面中包含外部html文件

+0

通過「外部」你從不同的域/網站的意思是HTML文件? –

回答

3

我假設這是網頁表單?

在asp.net中這樣做的最典型的方法是使用Master Page。將您的標題包含在母版頁中,並讓內容頁面從此繼承。

5

服務器端包含在不同的平臺上可用,並且可用於包含靜態內容。你可以在IIS中使用它們,但是我需要在IIS7中啓用它們。

<!-- #include file="Static/Menu.html" --> 

說明在IIS7使SSI可在http://tech.mikeal.com/

對於動態內容,有模板稱爲MasterPages的內置方法,這應改爲使用。

+1

感謝您提供問題的答案,而不是回答:您不應該這樣做,而是應該這樣做。 – sboisse

2

ASP.NET是PHP的一個不同的框架,因此您不必複製您可能在PHP中完成任務的方式。我們使用ASP.NET中的母版頁,而不是使用常用元素(如標題)的「包含」文件。請參閱http://www.asp.net/master-pages/tutorialsMSDN on Master Pages。母版頁中的內容(如任何其他.aspx頁面)可以是靜態HTML或從控件動態生成的標記。

有可重複使用的內容塊的另一種方法是創建所謂的User Controls。這些基本上是可以像其他服務器控件一樣重用的頁面片段。例如,您可以創建一個菜單用戶控制,然後將其嵌入到一個共同的主頁面中。這是將網站分解爲可管理的「塊」的好方法。

欲瞭解更多信息,請參閱SO其他地方的問題ASP.NET equivalent of server side includes

2

除了使用母版和UserControl,所提供here一種方式是使用Response.writeFile,但這種解決方案的根本問題是:

ASP不會處理服務器端文件中的腳本。這是因爲所有的ASP代碼已運行時它包括文件和服務器將不返回到讀取服務器端處理任何事情再次

+0

有沒有人有上述問題的解決方案,而不是MasterPage和userControl? –

相關問題