検索条件
プロジェクトを親子関係にして、親でナビゲーションを含むサイトデザイン、認証等、基盤となる仕事。
子プロジェクトは機能単位に分割。それぞれ他のプロジェクトをビルドすることなく追加、削除可能。
例えば赤枠の部分をそれぞれ別のDLLに切り離したい。ブログ追加するためにサイト丸ごとビルドし直したくない。
PHPなどスクリプト系の言語では当たり前の構造ですが、ASP.NETそれもWebFormでそれをやるとなると?
- 親プロジェクトを通常のWebFormアプリとして作成。Web.sitemapを追加しておく。
- 親プロジェクトの直下に子プロジェクト用のフォルダ作成。子供の数が多くなりそうな場合は専用のフォルダ(Modulesにしました)作成。
- ソリューションと一旦閉じてModulesの中に子プロジェクトを作成。ソリューション用のディレクトリは作成しない。テンプレートは空のWebサイト。作成したら一旦ソリューションを閉じる。
- 親ソリューションを開く。既存のプロジェクトの追加で、上で作成した子プロジェクトを選択。
- 子にSite.Masterを追加。ContentPlaceHolderのIDを親プロジェクトのIDと合わせる。例では親にデフォルトのWeb Formsサイトを使ったので、「MainContent」一つに。デザインはどうでも良い(実行時には親プロジェクトのSite.Masterが適用される)。
- 子にSite.Masterを使ったWebFormを追加。最終的なプロジェクトの構成は下記のような感じ。
- 子プロジェクトのビルドの出力先を、親プロジェクトのbinフォルダに設定変更後、子プロジェクトをビルド
- 親プロジェクトのサイトマップに子プロジェクトのメニューを追加。親プロジェクトを実行。
- 子プロジェクトのページもちゃんと親プロジェクトのヘッダとフッタがついて表示されます
- お買い得品のページに認証かけてみたら、ちゃんとログイン画面へはじかれました。
OK
キャンセル
確認
その他