2012-04-12 6 views
0

Ich verwende ASP.NET 3.5 Webformulare.
Ich habe meinen Websitepfad in der Datei web.config gespeichert und den Schlüssel "CommonPath" hinzugefügt.
Jetzt habe ich eine einfache HTML-Seite und möchte diesen Schlüssel auf dieser statischen HTML-Seite verwenden. Also wie kann ich das tun? oder Gibt es einen anderen Weg dafür?Wie liest man die web.config Einstellungen in der .html Seite?

Vielen Dank im Voraus

+1

Können Sie die statische Seite nicht zur dyanamic Seite ändern? – Ramesh

+0

Nein. Es ist einfach HTML-Seite. –

+3

Sie verwenden also das falsche Tool für den Job und fragen uns, wie wir es beheben können? Wenn Sie dynamischen Inhalt benötigen, müssen Sie einen Dateityp verwenden, der dynamischen Inhalt erzeugen kann. Sie können das Routing verwenden, um das Formular zu fälschen. –

Antwort

2

Was ich in der Vergangenheit getan habe, war die Registrierung von ".html" -Seiten, die ebenfalls als dynamische Seiten interpretiert werden. (Genau wie ASPX).

Dies kann durch Ihre Datei "web.config" erfolgen:

.... 
<system.web> 
    <compilation ...> 
     <buildProviders> 
      <add extension=".html" 
       type="System.Web.Compilation.PageBuildProvider" /> 
     </buildProviders> 
    .... 

und

.... 
<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> 
.... 

Als Robert weist darauf hin, das mit IIS funktioniert gut 7 und IIS 7.5 (und wahrscheinlich auf oben Versionen). Wenn Sie IIS 6 verwenden, müssen Sie dies über die IIS-Verwaltungskonsole tun.

+0

Sie haben vergessen zu erwähnen, dass dies nur auf IIS 7+ funktioniert. Auf IIS 6 muss ein neuer ISAPI-Filter hinzugefügt werden, um die gleiche Aufgabe zu erfüllen. –

+0

Danke, @RobertKoritnik Ich werde Ihre Informationen hinzufügen. –

1

Per Ramesh und Andrew Barber Bemerkungen: der beste Ansatz wäre, die HTML-Datei zu umbenennen, um ASPX so dass ASP.NET es anstelle von IIS behandelt nur die statische Datei Rückkehr . Fügen Sie Ihrem Webserver eine einfache Redirect-Permanent-Regel hinzu, um Altdatenverkehr zu verarbeiten. Wenn Sie die HTML-Datei unverändert lassen müssen, können Sie eine Rewrite-Regel hinzufügen (wenn das IIS-Rewrite-Modul installiert ist), um die HTML-Datei auf die ASPX-Datei zu verweisen, ohne dass jemand davon weiß. Oder verwenden Sie alternativ ASP.NET-Routing, um den gleichen Effekt zu erzielen.

+0

+1 Das ist der pragmatische Ansatz, den ich auch empfehlen würde. –

Verwandte Themen