マスターページ
作成方法
* ソリューションエクスプローラのプロジェクトを右クリックし、[追加]-[新しい項目]-[マスタページ](拡張子:.Master)を追加できる
使用方法
[1] ソリューションエクスプローラのプロジェクトを右クリックし、[追加]-[新しい項目]-[マスタページを使用したWebフォーム]を選択 [2] マスタページを選択するダイアログで該当するマスターページを選ぶ →マスターページを取り込んだファイルが作成できる
補足
* マスタページは、入れ子にすることも可能
マスターページあれこれ
マスターページのプロパティへのアクセス
準備
[1] アクセス用にpublicのプロパティをマスターファイルに追加する
組み込む
[1] コンテンツページ(*.aspx)に、以下の1行を追加する <%@ MasterType VirtualPath="~/【マスターファイル名】.master" %> [2] 準備[1]で追加したプロパティを使って、マスターファイルを操作する
サンプル
Site1.Master
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Site1.master.vb" Inherits="WebApplication3.Site1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="">http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <asp:ContentPlaceHolder ID="head" runat="server"> </asp:ContentPlaceHolder> </head> <body> <form id="form1" runat="server"> <div> <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> </form> </body> </html>
Site1.Master.vb
Public Class Site1
Inherits System.Web.UI.MasterPage
Public WriteOnly Property Label1Text() As String
Set(ByVal value As String)
Me.Label1.Text = value
End Set
End Property
Public Property Label1TextVisible() As Boolean
Get
Return Me.Label1.Visible
End Get
Set(ByVal value As Boolean)
Me.Label1.Visible = value
End Set
End Property
End Class
WebForm1.aspx
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site1.Master" CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" %> <%@ MasterType VirtualPath="~/Site1.Master" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Button" /> <asp:Button ID="Button2" runat="server" Text="Button" /> </asp:Content>
WebForm1.aspx.vb
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Master.Label1Text = Me.TextBox1.Text
End Sub
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Master.Label1TextVisible = Not Master.Label1TextVisible
End Sub
参考文献
http://www.atmarkit.co.jp/fdotnet/dotnettips/469aspmasterpage2/aspmasterpage2.htmlhttp://msdn.microsoft.com/ja-JP/library/c8y19k6h.aspx
http://csharp.yaminabe.info/2006/08/aspnet.html