MasterPage

MasterPageで、複数のページで共通したページテンプレートを定義できる。

MasterPage クラス (System.Web.UI) | Microsoft Learn
マスター ページを使用したSite-Wide レイアウトの作成 (C#) | Microsoft Learn
ASP.NET 2.0が変えるWebアプリ開発の世界 第2回 ASP.NET 2.0のマスター・ページとサイトマップ(2/3) - @IT
ASP.NET の基本1 マスターページと画面遷移 - Qiita

Webアプリでのやり方が見つからないので、Webサイトでやる。

ここまで掘っておく
ここまで掘っておく

ここまで掘っておく。

Webサイト
Webサイト

Webサイト。

Webサイトだと空のWebサイトがある
Webサイトだと空のWebサイトがある

Webサイトだと空のWebサイトがある。

こうなる。
こうなる。

こうなる。

ソリューション右クリックから新しい項目の追加
ソリューション右クリックから新しい項目の追加

ソリューション右クリックから新しい項目の追加。

マスタページは、MasterPage_.master
マスタページは、MasterPage_.master

マスタページは、MasterPage_.master。

こんな感じで追加される。
こんな感じで追加される。

こんな感じで追加される。

Webフォームも追加。この時、マスタページを選択するにチェック。
Webフォームも追加。この時、マスタページを選択するにチェック。

Webフォームも追加。この時、マスタページを選択するにチェック。

で、MasterPage_.masterを選択
で、MasterPage_.masterを選択

で、MasterPage_.masterを選択。

こういう感じ
こういう感じ

こういう感じ。

ビルドして
ビルドして

ビルドして、

デバッグ実行するとこれが出てくるので、OKを押す。
デバッグ実行するとこれが出てくるので、OKを押す。

デバッグ実行するとこれが出てくるので、OKを押す。

とりあえず何も表示されないページは出てきた
とりあえず何も表示されないページは出てきた

とりあえず何も表示されないページは出てきた。

Web.Configが追加された。
Web.Configが追加された。

Web.Configが追加された。
ちなみにDebugビルドしかないんだな。
で、ソリューションの保存が厄介で、

ここ選択で
ここ選択で

ここ選択で、

ここに出てくるけど、選択しないと出てこない。
ここに出てくるけど、選択しないと出てこない。

ここに出てくるけど、選択しないと出てこない。

デフォルトがなぜかこんなところに・・・。
デフォルトがなぜかこんなところに・・・。

デフォルトがなぜかこんなところに・・・。

ここに置きたい
ここに置きたい

ここに置きたい。

てわけで、ここに保存
てわけで、ここに保存

てわけで、ここに保存。

こうで、
こうで、

こうで、

こう
こう

こう。
あとはソース修正。
MasterPage_.masterは、

こう書いて、Default.aspxは、

こう書く。

上がマスターページ、下がコンテンツ。
上がマスターページ、下がコンテンツ。

上がマスターページ、下がコンテンツ。

Sample/aspnet/MasterPage/MasterPage/src/MasterPage at master · bg1bgst333/Sample · GitHub