次の方法で共有


チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用

更新 : 2007 年 11 月

このチュートリアルでは、マスタ ページおよび複数のコンテンツ ページを作成する方法について説明します。マスタ ページを使用すると、ページ レイアウト (テンプレート ページ) を作成し、実行時にマスタ ページとマージされるコンテンツを含む個別のページを作成できます。マスタ ページの詳細については、「ASP.NET マスター ページの概要」を参照してください。

このチュートリアルでは、以下のタスクを行います。

  • マスタ ページの作成

  • マスタ ページに表示するコンテンツを使用した ASP.NET ページ

  • さまざまなコンテンツを表示するためのマスタ ページの実行

  • 実行時のマスタ ページの選択

前提条件

このチュートリアルを実行するための要件は次のとおりです。

  • Visual Studio または Microsoft Visual Web Developer Express Edition。

  • オプションで、マスタ ページのロゴとして使用できる .jpg、.gif、またはその他のグラフィックス ファイル。ロゴの幅は、48 ピクセル以内にすることをお勧めします。ただし、ロゴの表示はオプションであり、グラフィックの正確なサイズはチュートリアルでは重要ではありません。

Web サイトの作成

チュートリアル : Visual Web Developer での基本的な Web ページの作成」の手順などを実行して Visual Web Developer で Web サイトを作成済みの場合は、その Web サイトを使用し、次のセクション「マスタ ページの作成」に進むことができます。それ以外の場合は、次の手順に従って、新しい Web サイトおよびページを作成します。

ファイル システム Web サイトを作成するには

  1. Visual Web Developer を開きます。

  2. [ファイル] メニューの [新しい Web サイト] をクリックします。

    [新しい Web サイト] ダイアログ ボックスが表示されます。

  3. [Visual Studio にインストールされたテンプレート] の [ASP.NET Web サイト] をクリックします。

  4. [場所] ボックスに、Web サイトのページを格納するフォルダの名前を入力します。

    たとえば、フォルダ名として「C:\WebSites」と入力します。

  5. [言語] ボックスで、作業に使用する言語をクリックします。

  6. [OK] をクリックします。

    Visual Web Developer によりフォルダが作成され、Default.aspx という名前の新しいページが作成されます。

マスタ ページの作成

マスタ ページは、ページの外観を表すテンプレートです。ここでは、まずマスタ ページを作成します。次に、テーブルを使用して、サイトの各ページに表示されるメニュー、ロゴ、およびフッターをマスタ ページに配置します。また、コンテンツ プレースホルダも使用します。これは、コンテンツ ページの情報に置換できるマスタ ページ内の領域です。

マスタ ページを作成するには

  1. ソリューション エクスプローラで、Web サイトの名前を右クリックし、[新しい項目の追加] をクリックします。

  2. [Visual Studio にインストールされたテンプレート] の [マスタ ページ] をクリックします。

  3. [名前] ボックスに「Master1」と入力します。

  4. [別のファイルにコードを書き込む] チェック ボックスをオンにします。

    メモ :

    このチュートリアルでは、すべてのページに分離コード ファイルを使用していることを前提としています。単一ファイル ASP.NET ページを使用している場合、このチュートリアルに示すコードは機能しますが、個別のコード ファイルではなくソース ビューに表示されます。

  5. [言語] ボックスで、作業に使用するプログラミング言語をクリックし、[追加] をクリックします。

    新しいマスタ ページがソース ビューに表示されます。

    ページの上部には、通常は ASP.NET ページの上部にある @ Page 宣言の代わりに、@ Master 宣言が表示されます。ページの本文には、ContentPlaceHolder コントロールが含まれます。これは、実行時にコンテンツ ページから置換可能なコンテンツがマージされるマスタ ページの領域です。このコンテンツ プレースホルダの操作方法は、後でこのチュートリアルで説明します。

マスタ ページの配置

マスタ ページでは、サイト内でのページの外観が定義されます。マスタ ページには、静的テキストとコントロールの任意の組み合わせを含めることができます。マスタ ページには、ページを表示したときに動的コンテンツが表示される場所を指定する 1 つ以上のコンテンツ プレースホルダを含めることもできます。

このチュートリアルでは、テーブルを使用してページに要素を配置します。まず、マスタ ページ要素を保持するレイアウト テーブルを作成します。このセクションの後半では、ページに既に配置されているコンテンツ プレースホルダ コントロールを配置します。

マスタ ページのレイアウト テーブルを作成するには

  1. ソース ビューで Master1.master ファイルを選択し、検証用のターゲット スキーマを Microsoft Internet Explorer 6.0 に設定します。この値を設定するには、ツール バーのドロップダウン リストを使用するか、[ツール] メニューの [オプション] をポイントし、[検証] をクリックします。

  2. デザイン ビューに切り替えます。

  3. [プロパティ] ウィンドウの上部にあるドロップダウン リストの [DOCUMENT] をクリックし、BgColor を青などの目立つ色に設定します。

    選択する色は重要ではありません。このチュートリアルの後半では、ここで選択した内容と対比するために、色のない 2 番目のマスタ ページを作成します。

  4. レイアウト テーブルを配置するページをクリックします。

    メモ :

    レイアウト テーブルを ContentPlaceHolder コントロール内に配置しないでください。

  5. [テーブル] メニューの [テーブルの挿入] をクリックします。

  6. [表の挿入] ダイアログ ボックスで、3 行 1 列のテーブルを作成し、[OK] をクリックします。

  7. テーブルの 2 行目の中にカーソルを置きます。

  8. [テーブル] メニューの [変更] サブメニューで、[セルの分割] をクリックします。

  9. [セルの分割] ダイアログ ボックスで、[列に分割] を選択し、[OK] をクリックします。

  10. 次の設定を行います。

    • 中央の行で左端の列をクリックし、[プロパティ] ウィンドウで Width を 48 に設定します。

    • 上の行をクリックし、[プロパティ] ウィンドウで Height を 48 に設定します。

    • 下の行をクリックし、[プロパティ] ウィンドウで Height を 48 に設定します。

      メモ :

      テーブル セルの境界線をドラッグするか、セルを選択して [プロパティ] ウィンドウで値を設定することで、幅と高さを設定できます。

  11. テーブル内のすべてのセルを選択し、BgColor を背景色と異なる色に設定します。

テーブルをレイアウトした後、すべてのページに表示されるマスタ ページにコンテンツを追加できます。フッターとして著作権メッセージを追加し、メニューを追加します。ロゴ グラフィックを使用できる場合は、それも追加できます。

マスタ ページに静的コンテンツを追加するには

  1. 最下部のセルをクリックし、「Copyright 2007 Contoso Inc.」などのフッター テキストを入力します。

  2. ツールボックス の [ナビゲーション] コントロール グループから、Menu コントロールを最上部のセルにドラッグします。

  3. 次の手順に従って、メニューを作成します。

    1. Menu コントロールの Orientation プロパティを Horizontal に設定します。

    2. Menu コントロールのスマート タグをクリックし、[Menu タスク] ダイアログ ボックスの [メニュー項目の編集] をクリックします。

  4. [項目] の [ルート ノードの追加] アイコンを 2 回クリックして、2 つのメニュー項目を追加します。

    1. 最初のノードをクリックし、Text を「Home」、href を「Home.aspx」に設定します。

    2. 2 番目のノードをクリックし、Text を「About」、href を「About.aspx」に設定します。

    3. [OK] をクリックして [メニュー項目エディタ] ダイアログ ボックスを閉じます。

  5. ロゴとして使用できるグラフィックス ファイルがある場合は、次の手順でマスタ ページに配置します。

    1. ソリューション エクスプローラで、Web サイトの名前を右クリックし、[既存項目の追加] をクリックします。

    2. グラフィックス ファイルに移動し、グラフィックス ファイルを選択して、[追加] をクリックします。

    3. ツールボックスの [標準] グループから、Image コントロールをテーブルの中央の左側の列にドラッグします。

    4. Image コントロールの ImageUrl プロパティをグラフィックス ファイルの名前に設定します。

これで、コンテンツ プレースホルダを配置して、実行時にマスタ ページにコンテンツが表示される位置を指定できます。

コンテンツ プレースホルダを追加するには

  1. ContentPlaceHolder コントロールを中央の右側のセルにドラッグします。

    コントロールの ID プロパティは ContentPlaceholder1 です。この名前はそのままにしておいても、変更してもかまいません。名前を変更した場合は、後で必要になるため、名前をメモしてください。

  2. ページを保存します。

マスタ ページのコンテンツの作成

マスタ ページはコンテンツのテンプレートを提供します。マスタ ページに関連付けられた ASP.NET ページを作成して、マスタ ページのコンテンツを定義します。コンテンツ ページは、マスタ ページとマージされるコンテンツだけを含む ASP.NET ページの専用フォームです。コンテンツ ページで、ユーザーがそのページを要求したときに表示するテキストとコントロールを追加します。

このチュートリアルでは、マスタ ページ用コンテンツを持つ 2 つのページを追加します。最初のページはホーム ページで、2 番目のページはバージョン情報ページです。

ホーム ページを作成するには

  1. ソリューション エクスプローラで、Web サイトの名前を右クリックし、[新しい項目の追加] をクリックします。

  2. [Visual Studio にインストールされたテンプレート] の [Web フォーム] をクリックします。

  3. [名前] ボックスに「Home」と入力します。

  4. [言語] ボックスで、使用するプログラミング言語をクリックします。

  5. [マスタ ページを選択する] チェック ボックスをオンにし、[追加] をクリックします。

    [マスタ ページを選択してください] ダイアログ ボックスが表示されます。

  6. Master1.master をクリックし、[OK] をクリックします。

    新しい .aspx ファイルが作成されます。次のコード例に示すように、このページには、MasterPageFile 属性を持つ選択されたマスタ ページに現在のページを追加する @ Page ディレクティブが含まれます。

    [Visual Basic]

    <%@ Page Language="VB" MasterPageFile="~/Master1.master" ... %>
    

    [C#]

    <%@ Page Language="C#" MasterPageFile="~/Master1.master" ... %>
    

    このページには、次に使用する Content コントロール要素も含まれます。

コンテンツ ページには、html、body、または form の各要素など、ASP.NET ページを構成する通常の要素はありません。代わりに、マスタ ページで作成したプレースホルダ領域を置換することで、マスタ ページに表示するコンテンツだけを追加します。

ホーム ページにコンテンツを追加するには

  1. デザイン ビューに切り替えます。

    マスタ ページの ContentPlaceHolder コントロールは、新しいコンテンツ ページの Content コントロールとして表示されます。レイアウトを確認できるようにマスタ ページ コンテンツの残りも表示されますが、コンテンツ ページの編集中は変更できないため、淡色表示されます。

  2. [プロパティ] ウィンドウのドロップダウン リストの [DOCUMENT] をクリックし、[Title] を「Contoso Home Page」に設定します。

    コンテンツがマスタ ページとマージされたときにブラウザに正しいタイトルが表示されるように、各コンテンツ ページのタイトルを個別に設定できます。タイトル情報は、コンテンツ ページの @ Page ディレクティブに格納されます。

  3. マスタ ページの ContentPlaceHolder1 に一致する Content コントロールに「Welcome to the Contoso Web Site」と入力します。

  4. テキストを選択し、ツールボックスの上にある [フォーマットのブロック] ドロップダウン リストから Heading 1 を選択することで、テキストを見出しとして書式指定します。

  5. Enter キーを押して、Content コントロールに新しい空白行を作成し、「Thank you for visiting our site」と入力します。

    ここで追加するテキストは、重要ではありません。このページをホーム ページとして認識できるようなテキストを入力します。

  6. ページを保存します。

ホーム ページを作成したのと同じ方法で、バージョン情報ページを作成できます。

バージョン情報ページを作成するには

  1. ホーム ページに使用したのと同じ手順を使用して、About.aspx という名前の新しいコンテンツ ページを追加します。

    ホーム ページの場合と同じように、Master1.master ページに新しいページを追加します。

  2. ページのタイトルを「Contoso About Page」に変更します。

  3. コンテンツ領域に「About Contoso」と入力し、テキストを選択して、ツールボックスの上にある [フォーマットのブロック] ドロップダウン リストから Heading 1 を選択することで、テキストを Heading 1 として書式指定します。

  4. Enter キーを押して新しい行を作成し、「Since 1982, Contoso has provided high-quality software services」と入力します。

  5. ページを保存します。

ページのテスト

ASP.NET ページの場合と同じように、ページを実行してテストできます。

ページをテストするには

  1. Home.aspx ページに切り替えて、Ctrl キーを押しながら F5 キーを押します。

    ASP.NET により、Master1.master ページのレイアウトを使用した Home.aspx ページのコンテンツが単一ページにマージされ、結果のページがブラウザに表示されます。ページの URL は Home.aspx です。ブラウザには、マスタ ページへの参照はありません。

  2. [バージョン情報] リンクをクリックします。

    About.aspx ページが表示されます。Master1.master ページともマージされます。

マスタ ページ メンバの参照

コンテンツ ページのコードでは、パブリック プロパティまたはマスタ ページのメソッドとコントロールを含む、マスタ ページのメンバを参照できます。このチュートリアルでは、マスタ ページでプロパティを作成して、コンテンツ ページでそのプロパティ値を使用します。ここでは、Web サイトの会社名がプロパティとしてマスタ ページに格納され、コンテンツ ページの会社名への参照は、マスタ ページ プロパティに基づいていることを前提とします。

最初にマスタ ページにプロパティを追加します。

マスタ ページにプロパティを追加するには

  1. Master1.master ページに切り替えるか、このページを開きます。

  2. ソリューション エクスプローラで、[Master1.master] を右クリックし、[コードの表示] をクリックしてコード エディタを開きます。

    メモ :

    既定では、Visual Web Developer では分離コード モデルを使用するページが作成されます。必要に応じて、単一ファイル モデルを使用してコードを作成できます。詳細については、「ASP.NET Web ページのコード モデル」を参照してください。

  3. クラス定義内に次のコードを入力します。

    Public Property CompanyName() As String
        Get
            Return CType(ViewState("companyName"), String)
        End Get
        Set(ByVal Value As String)
            ViewState("companyName") = Value
        End Set
    End Property
    
    public String CompanyName
    {
        get { return (String) ViewState["companyName"]; }
        set { ViewState["companyName"] = value; }
    }
    

    コードにより、マスタ ページの CompanyName という名前のプロパティが作成されます。ポストバック間で永続化されるように、値はビューステートに格納されます。

  4. クラス定義内 (ただし、プロパティ コード内を除く) に次のコードを追加します。

    Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _
           Handles Me.Init
       Me.CompanyName = "Contoso"
    End Sub
    
    void Page_Init(Object sender, EventArgs e)
    {
       this.CompanyName = "Contoso";
    }
    

    この例では、CompanyName プロパティの値をページにハードコーディングします。

ここで、マスタ ページの CompanyName プロパティを使用するようにコンテンツ ページを変更できます。

コンテンツ ページで CompanyName プロパティを参照するには

  1. Home.aspx ページに切り替えるか、このページを開きます。

  2. ソース ビューに切り替えます。

  3. ページの上部で、@ Page ディレクティブの下に次の @ MasterType ディレクティブを追加します。

    <%@ MasterType virtualpath="~/Master1.master" %>
    

    ディレクティブによってコンテンツ ページの Master プロパティが Master1.master ページにバインドされます。このプロパティは、すぐに使用します。

  4. デザイン ビューに切り替えます。

  5. Content コントロールで、テキストを「Welcome to the Web site of」に変更します。

  6. ツールボックスの [標準] グループから、Label コントロールを Content コントロールにドラッグし、テキストが次のようになるように、静的テキストの後に配置します。

    Welcome to the Web site of [Label]

  7. Label コントロールの ID プロパティを CompanyName に設定します。

  8. ソリューション エクスプローラで、[Home.aspx] を右クリックし、[コードの表示] をクリックしてコード エディタを開きます。

  9. クラス定義内に次のコードを追加します。

    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) _
            Handles Me.Load
        CompanyName.Text = Master.CompanyName
    End Sub
    
    void Page_Load(Object sender, EventArgs e)
    {
       CompanyName.Text = Master.CompanyName;
    }
    

    コンテンツ ページの Master プロパティは、手順 3. で追加した @ MasterType ディレクティブに定義されているように、マスタ ページへの参照を返します。

ここでコンテンツ ページをテストして、マスタ ページの CompanyName プロパティを正しく参照しているかどうかを確認できます。

マスタ ページ プロパティへの参照をテストするには

  1. Home.aspx ページに切り替えるか、このページを開き、Ctrl キーを押しながら F5 キーを押して、ページを実行します。

    ページがブラウザに表示され、テキスト [Welcome to the Web site of Contoso] が表示されます。

  2. ブラウザを閉じます。

  3. Master1.master 分離コード ページに切り替えるか、このページを開きます。

  4. 次のコード例に示すように、別の会社名がプロパティに割り当てられるように、Page_Init ハンドラを変更します。

    Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) _
           Handles Me.Init
       Me.CompanyName = "New Company Name"
    End Sub
    
    void Page_Init(Object sender, EventArgs e)
    {
       this.CompanyName = "New Company Name";
    }
    
  5. Home.aspx ページに切り替え、Ctrl キーを押しながら F5 キーを押してページを再実行します。

    今度は、更新された会社名がページに表示されます。

マスタ ページの動的な変更

状況により、マスタ ページを動的に変更する、つまり、コードを使用して、コンテンツ ページのマスタ ページを設定できるようにする必要があります。たとえば、ユーザーが複数のレイアウトから選択し、設定に応じてマスタ ページを設定できるようにする必要があります。

このチュートリアルでは、Web サイトに 2 番目のマスタ ページを追加し、ユーザーが 2 つのマスタ ページ間を切り替えることができるボタンを作成します。2 つのマスタ ページは非常に似ているため、最初のマスタ ページをコピーして、2 番目のマスタ ページとして機能するように変更します。

マスタ ページをコピーするには

  1. ソリューション エクスプローラで、[Master1.master] を右クリックし、[コピー] をクリックします。

  2. Web サイトの名前を右クリックし、[貼り付け] をクリックします。

    Copy of master1.master という名前のマスタ ページが Web サイトに追加されます。

  3. Copy of master1.master を右クリックし、[名前の変更] をクリックして、新しいマスタ ページに Master2.master という名前を付けます。

  4. Master2.master を開き、@ Master ディレクティブで Master1 を Master2 に変更します。

    完成したページ ディレクティブは、次のコード例のようになります。

    <%@ Master Language="VB" CodeFile="Master2.master.vb" Inherits="Master2" %>
    
    <%@ Master Language="C#" CodeFile="Master2.master.cs" Inherits="Master2" %>
    
  5. デザイン ビューに切り替えます。

  6. [プロパティ] ウィンドウの上部にあるドロップダウン リストの [DOCUMENT] をクリックします。

  7. BgColor プロパティを削除します。

    新しいマスタ ページは Master1.master のように表示され機能しますが、背景色はありません。

  8. Master2.master のコード ファイルを開き、ページの @ Master ディレクティブで Inherits 属性の値が一致するように、マスタ ページの分離コード ファイルのクラス名を Master1 から Master2 へ変更します。

    コードは、次の例のようになります。

    Partial Class Master2
    
    public partial class Master2 : System.Web.UI.MasterPage
    

次の手順では、ユーザーが代替マスタ ページを選択できるボタンを各マスタ ページに追加します。

代替マスタ ページを選択するためのボタンを追加するには

  1. Master2.master ページに切り替えるか、このページを開きます。

  2. ツールボックスの [標準] ノードから、LinkButton コントロールをページにドラッグし、上部のテーブル セルのメニューの下に配置します。

  3. ボタンの Text プロパティを「Colorful」に設定します。

  4. ボタンをダブルクリックして Click イベントのハンドラを作成し、次の強調表示されたコードを追加します。

    Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)_
            Handles LinkButton1.Click
        Session("masterpage") = "Master1.master"    Response.Redirect(Request.Url.ToString())
    End Sub
    

    [C#]

    void LinkButton1_Click(Object sender, EventArgs e)
    {
       Session["masterpage"] = "Master1.master";   Response.Redirect(Request.Url.ToString());
    }
    

    コードにより代替マスタ ページのファイル名が永続的なセッション変数に読み込まれ、現在のページが再読み込みされます (Url プロパティは、現在のページを参照する Uri オブジェクトを返します)。次に、マスタ ページの名前を使用するコードをコンテンツ ページで作成します。

  5. Master1.master ページに切り替えるか、このページをデザイン ビューで開きます。

  6. 手順 1 および 2 で実行したように、LinkButton コントロールを追加し、Text プロパティを Plain に設定します。

  7. [Plain] をダブルクリックして Click イベントのハンドラを作成し、次の強調表示されたコードを追加します。

    Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As EventArgs)_
            Handles LinkButton1.Click
        Session("masterpage") = "Master2.master"    Response.Redirect(Request.Url.ToString())
    End Sub
    
    void LinkButton1_Click(Object sender, EventArgs e)
    {
       Session["masterpage"] = "Master2.master";   Response.Redirect(Request.Url.ToString());
    }
    

    このコードは、代替マスタ ページを読み込む点を除いて、Master2.master ページのボタンのコードと同じです。

ここで、ユーザーが選択したマスタ ページを動的に読み込むコードをコンテンツ ページに記述します。

マスタ ページを動的に選択するコードを記述するには

  1. About.aspx ページに切り替えるか、このページを開きます。

    メモ :

    既に作成したホーム ページには、単一のマスタ ページ (Master1.master) にバインドされる @ MasterType ディレクティブが含まれます。したがって、マスタ ページをホーム ページに動的に割り当てることはできません。代わりに、作成したその他のページを使用します。

  2. ソリューション エクスプローラで、[About.aspx] を右クリックし、[コードの表示] をクリックしてコード エディタを開きます。

  3. クラス定義内に次のコードを追加します。

    Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) _
            Handles Me.PreInit
       If Not Session("masterpage") Is Nothing Then
          Me.MasterPageFile = CType(Session("masterpage"), String)
       End If
    End Sub
    
    void Page_PreInit(Object sender, EventArgs e)
    {
       if(Session["masterpage"] != null)
       {
          this.MasterPageFile = (String) Session["masterpage"];
       }
    }
    

    コードにより、現在のページの MasterPageFile プロパティの値がセッション変数 (ある場合) 内の値に設定されます。このコードは、Page_PreInit ハンドラで実行する必要があります。Page_PreInit ハンドラよりも後に発生するハンドラ (Page_Init ハンドラなど) で実行することはできません。これは、さらに初期化が行われる前にページのインスタンスが作成されるように、マスタ ページが設定されているためです。

ここで動的なマスタ ページをテストできます。

動的なマスタ ページをテストするには

  1. About.aspx ページで、Ctrl キーを押しながら F5 キーを押して、ページを実行します。

    既定のマスタ ページ (Master1.master) とマージされたページがブラウザに表示されます。

  2. [Plain] リンクをクリックします。

    今度は Master2.master とマージされて、ページが再表示されます。背景色はありません。

  3. [カラフル] リンクをクリックします。

    再度 Master1.master を使用してページが表示されます。

マスタ ページの使用に関する注意事項

マスタ ページを使用する場合、注意が必要な問題点は他にもあります。

  • 実際のアプリケーションでは、会社名などの情報を構成ファイルに保存して、コンテンツ ページで直接読み込む可能性があります。ただし、ここで説明するシナリオでは、コンテンツ ページでマスタ ページ メンバを参照する方法を単純な図で示します。

  • @ MasterType ディレクティブを含めなくてもマスタ ページのメンバにアクセスできます。ただし、その場合は、Page.Master プロパティを適切なマスタ ページ タイプにキャストする必要があります (ページにマスタ ページがない場合、Master プロパティは null になります)。詳細については、「プログラムによる ASP.NET マスター ページの操作」を参照してください。

Master.FindControls メソッドを使用して、マスタ ページのコントロールを参照できます。詳細については、「プログラムによる ASP.NET マスター ページの操作」を参照してください。

動的なマスタ ページを使用する場合、注意が必要な問題点は他にもあります。

  • マスタ ページを変更するためのこのセクションのシナリオは、チュートリアルでマスタ ページを中心に説明するために簡略化されています。実際のアプリケーションでは、レイアウトの選択肢を表示し、プロファイルを使用してユーザーの設定を保存する場合がほとんどです。詳細については、「ASP.NET プロファイル プロパティの概要」を参照してください。

  • すべてのページが同じマスタ ページを使用するように Web サイトを設定できます。いくつかのページでは、代替マスタ ページを使用する必要があります。これは、チュートリアルのこのセクションで説明したような方法で、コードで設定できます。詳細については、「ASP.NET マスター ページの概要」の「マスタ ページのスコープの設定」を参照してください。

  • 既定のマスタ ページをオーバーライドするすべてのページに、Home.aspx ページからコードを追加する必要があります。

次の手順

このチュートリアルでは、マスタ ページの基本機能を説明しています。マスタ ページの追加機能を試すことができます。たとえば、次の場合です。

  • 複数のコンテンツ プレースホルダを含むマスタ ページを作成します。表示するページごとに、1 つ以上のプレースホルダにコンテンツを読み込むことができます。

  • 既定のコンテンツを使用してコンテンツ プレースホルダを定義します。ASP.NET ページがプレースホルダのコンテンツを提供していない場合、マスタ ページには既定のコンテンツが表示されます。

  • コンテンツ ページからマスタ ページのメンバにプログラムによってアクセスします。これにより、実行時にマスタ ページの外観を動的に変更できます。詳細については、「方法 : ASP.NET マスター ページのコンテンツを参照する」を参照してください。

  • マスタ ページでデバイス フィルタを使用して、ブラウザ用のレイアウト、特定の種類の電話のレイアウトなど、デバイスごとに異なるレイアウトを作成します。詳細については、「ASP.NET デバイスのフィルタ処理の概要」を参照してください。

  • マスタ ページ内にマスタ ページを配置して、コンポーネント化されたページを作成する方法を習得します。詳細については、「入れ子にされた ASP.NET マスタ ページ」を参照してください。

参照

概念

ASP.NET マスター ページの概要

ASP.NET のマスター ページとコンテンツ ページのイベント