我正在使用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