「みんな教えて! 選手権!!」開催のお知らせ

単純なHTMLで作成されている大量のページに
ASP.net2.0で共通のメニューを付けたいのですが、
既存のページは修正せずにメニューを付ける
良い方法は無いでしょうか?
ASP.net2.0ではframesetが使えないようなので、
masterページを使うのかなと思うのですが、
既存のページを修正せずに使えるのでしょうか?
┌─┬─────────┐
│メ│  本       │
│ニ│  体       │ 
│ュ│          │
│|│         │
└─┴─────────┘
メニューは新規作成  
制御処理があるのでaspxにしたい)
本体に既存ページを呼び出したい

A 回答 (1件)

前提条件によってやり方が変わってくると思います。



目的があくまで共通のメニューの作成で、メニュー内の制御だけで済むのであれば、フレームにしてしまってメニューだけをaspxにすればどうでしょうか。Visual StudioのHTMLエディタではフレームはサポートしていないようですが、たぶん動くと思います。であればこれが一番簡単そうです。

ページ全体にわたってViewStateとPostBackの使用が必須である場合はいずれにしてもかなり修正が必要だと思います。そもそも、メニューが追加されることで、レイアウト自体が変わってしまうためです。

オーソドックスなやり方としては、マスターページを作っておき、各ページにbody内部を全てコピー&ペーストしていくことですが、これが面倒だというのであれば、プログラムやスクリプトで全ページをマスターページに合うように修正してしまうのも手です。

各htmlファイルのheadタグなども触りたくないというのであれば、同様にスクリプトなどを使って、(1)メニューはascxファイルで用意しておく(2)各htmlファイル拡張子をaspxに変換(3)ヘッダ部にaspのコードブロックを追加(4)静的または動的にascxのメニューを追加する、ようにすればOKではないかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報