- ベストアンサー
ASP内で他のASPファイルを読み込む方法
ASP内で別ファイル(A.html)を読み込みました。下記の通りです。 <% Set objA = Server.CreateObject("Scripting.FileSystemObject") Set objFile = objA.OpenTextFile("A.html", 1, False) If Err.Number > 0 Then Response.Write "Open Error" Else Do Until objFile.AtEndOfStream Response.Write objFile.ReadAll Loop End If objFile.Close %> 読み込みはできたのですが、問題なのはA.htmlにもASPの処理が書かれてて、その部分がそのままテキストとして表示されたのです。 このように表示されました↓ <% ASP %> 読み込んだ際に、A.htmlに書かれたASP処理も実行させるにはどうすればよいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Server.Execute
その他の回答 (2)
- anmochi
- ベストアンサー率65% (1332/2045)
その部分をごっそり <!--#include file="./A.html" --> に置き換えてみてくれまいか。
お礼
またまた説明不足でした^^; A.htmlというのは実は変数で処理しているのです。includeに変数って使えないですよね?使える方法があるのなら、その方法がいいのですが。 ↓これはできませんでした。 <body> <% Set HENSU= request("hensu") %> <!--#include file="<% =HENSU %>.html" --> </body>
- redfox63
- ベストアンサー率71% (1325/1856)
お使いのWebサーバーがhtmlファイルに対してASPスクリプトを実行してくれるのでしょうか 『a.html』を『a.asp』とaspファイルとして登録しておいて Server.Transfer "a.asp" または Response.Redirect "a.asp" といった具合にすれば遷移します 自分自身のページ内に表示したいのであれば インラインフレーム(iframeタグ)などをつかって Response.Write "<iframe src=""a.asp""></iframe>" & vbcrlf などを使ってみてはいかがでしょう
お礼
>お使いのWebサーバーがhtmlファイルに対してASPスクリプトを実行してくれるのでしょうか はい。拡張子が.htmlでもASPを実行してくれます。 説明不足でしたので、補足いたします。 読み込みをした側のページにはCSSを記述しており、読み込んだファイル(A.html)にそのCSSを適用させたいのです。なので、Response.Redirectなどを使って遷移したら、CSSが適用されません。iframeも試してみましたが、iframeの中身(A.html)にCSSが適用されないのでダメでした。 こういうソースです。 <html> <head> <link rel="stylesheet" href="A.css" type="text/css"/> </head> <body> <% Set objA = Server.CreateObject("Scripting.FileSystemObject") Set objFile = objA.OpenTextFile("A.html", 1, False) If Err.Number > 0 Then Response.Write "Open Error" Else Do Until objFile.AtEndOfStream Response.Write objFile.ReadAll Loop End If objFile.Close %> </body> </html>
お礼
Server.Execute試してみました。ASPが書かれている部分で実行時エラー エラー '800a000d'が出ましたが、エラーが出たって事はASPとして処理されていることですよね?後は自力でやってみたいと思います。ありがとうございました!