2012-09-05 87 views
2

有什麼方法可以使用ASP或ASP.NET在另一個HTML文件中使用HTML?類似於您可以在HTML中使用包含PHP的HTML以及.htacess中的AddType處理程序的方式?將ASP添加到HTML中

我想找到一個更好的方式來更新一些導航,但該網站坐在沒有安裝PHP的Windows服務器上。

+0

是的,看看http://stackoverflow.com/questions/894720/asp-net-equivalent-of-server-side-includes –

回答

2

有幾個選項可供您使用第一個如果您要使用asp.net,我會提及的是Master Pages。

ASP.NET MVC在Razor視圖引擎中使用佈局,因此您可以更多地控制頁面,我非常喜歡MVC的處理方式,因爲它可以讓您的功能和表現保持簡單。

另一種選擇是在服務器端包含(這是老式的,而不是真正的好):

<!-- #INCLUDE FILE="includeMe.html" --> 

如果你想保持它作爲一個html頁面,你可以「砍」在IIS周圍,使HTML頁面與SSI一起工作,但它不是一個很好的做事方式。

提供信息的另一種方法是使用jQuery包含HTML的代碼片段的使用你的網頁,這樣的事情,(對不起,我沒有測試):

$("#destination-container").load("sourcepage.htm #content-in-this-page"); 

同樣,這可能不是最好的做法,但你可以使用它來獲得快速的結果。

我的建議是創建一個主頁,無論它是一個主頁面還是一個變體,如果你決定去MVC路線,然後使用PartialViews或類似的東西。

當然再看看亞歷克斯K高的鏈接:ASP.NET equivalent of server side includes

+0

我最終去了jQuery的路線。黑客與ASP/ASP.NET一起將是太多,我想要的東西。另外,我沒有完全控制服務器,所以我不想最終破壞站點的其他部分,因爲ASP.NET並不真正在我的技能組中。我確實發現這個網頁有幫助:http://blog.koostudios.com/?p=127 – ultraloveninja

0

如果家長/包含代碼文件中有一個的.asp擴展,然後你可以用下面的代碼包含另一個文件。

<!-- #INCLUDE FILE="myfile.htm" --> 
+0

如果我需要保持它爲.html,該怎麼辦? – ultraloveninja

+0

理想情況下,URI不應該揭示實現細節(例如'.html'文件擴展名),但是您可以使用IIS的URL重寫或將'html'文件擴展名重新映射到經典ASP或SSI模塊。 – Dai