2012-04-12 33 views
0

我正在使用ASP.NET 3.5 Web窗體。
我已將我的站點路徑存儲在web.config中,並添加了名爲「CommonPath」的鍵。
現在我有一個簡單的html頁面,並且希望在這個靜態html頁面上使用這個鍵。 那麼我該如何做到這一點?或者有沒有其他辦法呢?如何閱讀.html頁面中的web.config設置?

在此先感謝

+1

您不能將靜態頁面更改爲浮動頁面嗎? – Ramesh 2012-04-12 06:02:12

+0

沒有。它只是html頁面。 – 2012-04-12 06:03:45

+3

那麼,您是否在使用錯誤的工具進行工作,並詢問我們如何解決這個問題?如果您需要動態內容,則需要使用可生成動態內容的文件類型。您可以使用路由來「僞造」表單。 – 2012-04-12 06:12:04

回答

2

我過去做過的事情是將「.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管理控制檯執行此操作。

+0

你忘了提及這隻適用於IIS 7+(這種方式)。在IIS 6上,必須添加新的ISAPI篩選器才能完成相同的任務。 – 2012-04-12 06:42:22

+0

謝謝,@RobertKoritnik我會添加你的信息。 – 2012-04-12 07:22:57

1

按照拉梅什和安德魯·巴伯的意見:最好的辦法是重新命名.html文件爲.aspx,讓ASP.NET將處理它,而不是僅僅IIS返回靜態文件。將簡單的重定向永久規則添加到您的Web服務器以處理傳統流量。如果您必須按原樣保留.html文件,則可以添加重寫規則(如果已安裝IIS重寫模塊),將.html文件指向.aspx文件而不需要任何人知道;或者,也可以使用ASP.NET路由來實現相同的效果。

+0

+1這是我推薦的實用方法。 – 2012-04-12 06:43:13