Tuesday, September 20, 2011

Change master page in page init event

File: Default.aspx

<%@ Page Language="C#" 
         MasterPageFile="~/Default.master" 
         AutoEventWireup="true" 
         CodeFile="DynamicContentPage.aspx.cs" 
         Inherits="DynamicContentPage_aspx" 
         Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">Sample content</asp:Content>


File: Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class DynamicContentPage_aspx : System.Web.UI.Page
{
  protected void Page_PreInit(object sender, EventArgs e)
  {
    this.MasterPageFile = "TableMaster.master";

  
}



File: Default.master

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Default.master.cs" Inherits="SiteTemplate" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        </asp:contentplaceholder>
        <i>This is a simple footer.</i></div>
    </form>
</body>
</html>


File: Default.master.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class SiteTemplate : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

}


File: TableMaster.master


<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Default.master.cs" Inherits="TableMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <table width="100%">
    <tr>
        <td colspan="2" style="background: #ffccff">
            <h1>My Header</h1>
        </td>
    </tr>
    <tr>
        <td style="background: #ffffcc" >
            <asp:treeview ID="Treeview1" runat="server" Width="150px">
                <Nodes>
                    <asp:TreeNode Text="Root" Value="New Node">
                        <asp:TreeNode Text="Page 1" Value="Page 1"></asp:TreeNode>
                        <asp:TreeNode Text="Page 2" Value="Page 2"></asp:TreeNode>
                    </asp:TreeNode>
                </Nodes>
            </asp:treeview>
        </td>
        <td>
            <asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
            </asp:contentplaceholder>
        </td>
    </tr>
    <tr>
        <td colspan="2" style="background: #ccff33">
            <i>My Footer</i>
        </td>
    </tr>
    </table>
    </form>
</body>
</html>


File: TableMaster.master.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class TableMaster : System.Web.UI.MasterPage
{


    public bool ShowNavigationControls
  {
    set Treeview1.Visible = value; }
    get return Treeview1.Visible; }
  }

}

No comments:

Post a Comment