入れ子マスターページ[VB Web]

入れ子のマスターページ追加

入れ子のマスターページは、親のマスターページを継承した形で存在するので、入れ子マスターページを追加するときは、既に作成したマスタページを指定する必要があります。

それでは、入れ子のマスターページをプロジェクトに追加します。

HanbaiKanriSiteプロジェクトを開きます。ソリューションエクスプロラーの HanbaiKanriSiteを右クリックして、[追加(D)]→[新しい項目の追加(W)]を選択すると、[新しい項目の追加]フォームが開きます。

新しい項目追加

[新しい項目の追加]フォームが開いたら、

  1. マスターページを選択
  2. マスターページの名前を NestedHanbaiKanri.master に変更
  3. [別のファイルにコードを書き込む]と[マスターページの選択]が共にチェックされていることを確認
  4. [追加(A)]ボタンをクリック

入れ子マスターページ追加

[マスターページを選択]フォームが開くので、ここで親のマスターページとして、HanbaiKanri.masterを選択し、[OK]ボタンをクリックします。

マスターページ選択

NestedHanbaiKanri.masterファイルが、プロジェクトに追加されます。

デザイン画面が表示されていたら、[ソース]タブをクリックして、ソースリストを表示します。

自動生成されたソースりストは次のようになります。先頭行は、長いので適当に折り返しています。

<%@ Master Language="VB" MasterPageFile="~/HanbaiKanri.master"
 AutoEventWireup="false" CodeFile="NestedMasterPage.master.vb"
 Inherits="NestedMasterPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>

追加コーディング

追加されたマスターページHanbaiKanri.masterの<asp:Content ID="Content2" ...... > と </asp:Content>との間に、サイドメニューとページコンテンツ領域を追加コーディングします。

  1. <div id="sideMenu"> と </div>を追加して、下のようにマスター保守メニューを追加
  2. ページコンテンツ領域として、<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> を追加
<%@ Master Language="VB" MasterPageFile="~/HanbaiKanri.master"
     AutoEventWireup="false" CodeFile="NestedHanbaiKanri.master.vb"
     Inherits="NestedHanbaiKanri" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div id="sideMenu">
    <p>得意先マスター保守</p>
    <ul>
        <li><asp:HyperLink ID="HyperLink1" runat="server"
            NavigateUrl="~/WebFormX1.aspx">照 会</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink2" runat="server"
            NavigateUrl="~/WebFormX2.aspx">追 加</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink3" runat="server"
            NavigateUrl="~/WebFormX3.aspx">更 新</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink4" runat="server"
            NavigateUrl="~/WebFormX4.aspx">削 除</asp:HyperLink></li>
    </ul>
    <p>商品マスター保守</p>
    <ul>
        <li><asp:HyperLink ID="HyperLink5" runat="server"
            NavigateUrl="~/WebFormX5.aspx">照 会</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink6" runat="server"
            NavigateUrl="~/WebFormX6.aspx">追 加</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink7" runat="server"
            NavigateUrl="~/WebFormX7.aspx">更 新</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink8" runat="server"
            NavigateUrl="~/WebFormX8.aspx">削 除</asp:HyperLink></li>
    </ul>
    <p>社員マスター保守</p>
    <ul>
        <li><asp:HyperLink ID="HyperLink9" runat="server"
            NavigateUrl="~/WebFormX9.aspx">照 会</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink10" runat="server"
            NavigateUrl="~/WebFormX10.aspx">追 加</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink11" runat="server"
            NavigateUrl="~/WebFormX11.aspx">更 新</asp:HyperLink></li>
        <li><asp:HyperLink ID="HyperLink12" runat="server"
            NavigateUrl="~/WebFormX12.aspx">削 除</asp:HyperLink></li>
    </ul>
    <p>以下省略</p>
    </div>
    <h1>マスターファイル保守</h1>

    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

</asp:Content>