none
ファイルを動的にインクルードさせる。 RRS feed

  • 質問

  • 丹羽と申します。

    いろいろ調べたのですが、どうしても方法がわかりません。

     

    【やりたい事】

    1つのAspxにおいて処理条件によって、あるdiv要素の内容を

    動的に変更したいのですが、うまくゆきません。

     

    (例)

    条件1 画像ファイルを表示。

    条件2 ファイルをIncludeし表示。

    条件3 データベースより情報を読み込み、テーブル編集し、

                 表示。

    条件4 。。。。。

    上記 DIV要素への編集は、Page_Loadイベント内で制御したいと考えています。

     

    条件1 については、Page_Loadイベント内でDIV要素(ID)に対して

                ID.innerHtmlにてDIV要素内に"<imgタク"゙を埋め込んで正常にブラウザへ表示されます。

     

    条件3 については、別プログラム検証の中で、実現しておりますので、うまくゆくと思います。

     

    現在、止まっておりますのが、条件2のファイルをインクルードする場合に悩んでおります。

     

    いろいろとやってみましたが。※インクルードするファイルの内容は、htmファイルです。

                                                            (table要素にて情報を表示するためのファイル)

    1. 条件1と同様にinnerHtmlにより"<!-- #Include virtual=""インクルードするファイル""-->を

        設定しましたが、表示されません。ブラウザよりソースを表示で開いたスクリプトを見ますと、

        #Include.....は、きちんと編集されています。

      (処理されるタイミングが違うのか、上記の様に編集するのがいけないのか。???)

     

    2. innerHtmlにより、"<%Response.WriteFile(""インクルードするファイル"")"%>と設定しましたが、

       編集は、されていますが、ブラウザに表示されません。

      <%Response.WriteFile("")%>を直接HTMLに埋め込むと表示されますが、他の条件の時に、innerHtmlを使うと、

      <%%>の含まれる要素への変更は、出来ませんとエラーになってしまうので、これも駄目と思われます。

     

    3. デザイン画面にて直接、<!-- #Include virtual="インクルードするファイル"-->と記述すると、

        ソース時は、エラー表示されませんが、

       デザインに切り替えると、『コントロールの作成エラー』-Content1 ; オブジェクト参照がオブジェクトインスタンスに設定されておりません。

       とエラーとなってしまう。実際に実行すると、インクルードファイルの内容がブラウザへ表示されます。

     

    あるDIV要素の内容を変更する場合は、どの様にすればよいのでしょうか。

    どなたか、ご教示願います。

     

     

     

     

     

     

     

     

    2007年8月6日 6:08

すべての返信

  • 丹羽です。

    上記の質問をさせて頂いたのですが、それから調査し、サーバコントロールPanel,PlaceHolder を使用し、

    制御できる事がわかりました。

     

    条件1、2、についても、Panelコントロール内に配置し、制御できる様になりました。

    Table等の編集もPanelやPlaceHolder を利用し、試してみたいと思います。

     

    この方法で良いのでしょうか。

     

     

    2007年8月6日 7:39