我正在使用ASP.NET 3.5 Web窗體。
我已將我的站點路徑存儲在web.config中,並添加了名爲「CommonPath」的鍵。
現在我有一個簡單的html頁面,並且希望在這個靜態html頁面上使用這個鍵。 那麼我該如何做到這一點?或者有沒有其他辦法呢?如何閱讀.html頁面中的web.config設置?
在此先感謝
我正在使用ASP.NET 3.5 Web窗體。
我已將我的站點路徑存儲在web.config中,並添加了名爲「CommonPath」的鍵。
現在我有一個簡單的html頁面,並且希望在這個靜態html頁面上使用這個鍵。 那麼我該如何做到這一點?或者有沒有其他辦法呢?如何閱讀.html頁面中的web.config設置?
在此先感謝
我過去做過的事情是將「.html」頁面註冊爲動態頁面。 (就像ASPX一樣)。
這可以通過您的 「web.config」 文件來完成:
....
<system.web>
<compilation ...>
<buildProviders>
<add extension=".html"
type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>
....
和
....
<system.webServer>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated" />
<add name="PageHandlerFactory-Integrated-HTML" path="*.html"
verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory"
resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
....
由於Robert指出,這個效果很好用IIS 7和IIS 7.5(也可能在以上版本)。如果您使用IIS 6,則必須通過IIS管理控制檯執行此操作。
你忘了提及這隻適用於IIS 7+(這種方式)。在IIS 6上,必須添加新的ISAPI篩選器才能完成相同的任務。 – 2012-04-12 06:42:22
謝謝,@RobertKoritnik我會添加你的信息。 – 2012-04-12 07:22:57
按照拉梅什和安德魯·巴伯的意見:最好的辦法是重新命名.html文件爲.aspx,讓ASP.NET將處理它,而不是僅僅IIS返回靜態文件。將簡單的重定向永久規則添加到您的Web服務器以處理傳統流量。如果您必須按原樣保留.html文件,則可以添加重寫規則(如果已安裝IIS重寫模塊),將.html文件指向.aspx文件而不需要任何人知道;或者,也可以使用ASP.NET路由來實現相同的效果。
+1這是我推薦的實用方法。 – 2012-04-12 06:43:13
您不能將靜態頁面更改爲浮動頁面嗎? – Ramesh 2012-04-12 06:02:12
沒有。它只是html頁面。 – 2012-04-12 06:03:45
那麼,您是否在使用錯誤的工具進行工作,並詢問我們如何解決這個問題?如果您需要動態內容,則需要使用可生成動態內容的文件類型。您可以使用路由來「僞造」表單。 – 2012-04-12 06:12:04