2012-04-12 3 views
0

私はASP.NET 3.5 Webフォームを使用しています。
web.configに「CommonPath」という名前のキーを追加してサイトパスを保存しました。
私は単純なhtmlページを1つ持っていて、この静的なhtmlページでこのキーを使いたいと思っています。 どうすればいいですか?またはこれに他の方法がありますか?ラメシュとアンドリュー・バーバーのコメントを1として事前.htmlページのweb.config設定の読み方は?

+1

静的ページをダイナミックページに変更できませんか? – Ramesh

+0

いいえ。単にhtmlページです。 –

+3

あなたは仕事に間違ったツールを使用していて、それを修正する方法を尋ねていますか?動的コンテンツが必要な場合は、動的コンテンツを生成できるファイルタイプを使用する必要があります。フォームを「偽造」するためにルーティングを使用することができます。 –

答えて

2

過去に私が行ったことは、動的ページとして解釈される ".html"ページを登録することでした。 (つまりASPXのように)。

これはあなたの "web.configファイル" のファイルを介して行うことができます:Robertが指摘するように、これはおそらく上のIIS 7でうまく動作し、IIS 7.5を(と

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

上記のバージョンも同様です)。 IIS 6を使用している場合は、IIS管理コンソールで行う必要があります。

+0

これはIIS 7以降でのみ動作します(この方法)。 IIS 6では、同じタスクを実行するために新しいISAPIフィルタを追加する必要があります。 –

+0

ありがとう、@RobertKoritnikあなたの情報を追加します。 –

1

ありがとう:代わりに、IISのアプローチは、ASP.NETがそれを処理するように、.aspxのために.htmlのファイルの名前を変更することです最善だけで静的ファイルを返します。レガシートラフィックを処理するために、単純なリダイレクトパーマネントルールをWebサーバーに追加します。 .htmlファイルをそのまま残す必要がある場合は、IIS Rewriteモジュールがインストールされている場合は、.htmlファイルを.aspxファイルにポイントするための書き換えルールを追加することができます。代わりに、ASP.NETルーティングを使用して同じ効果を達成できます。

+0

+1それはまた私が推薦する実用的なアプローチです。 –

関連する問題