MasterPage 的几个知识点:
1. 在母版页中的 ContentPlaceHolder ,相应的内容页显示为:Content
2. 母版页与内容页的数据通信:每一个控件都得找,
例如:((Label)Master.FindControl("label1")).Text ="MasterPage级别的:"+ DropDownList1.SelectedValue;
前面的label1是 母版页中的, 后面的 DropDownList1 是在内容页中,这句代码是写在 内容页的 cs 文件中.
3. 如果要改变 母版, 则应该在 内容页与母版页合并之前,改变母版页文件.方法如下
MasterPageFile="~/TestMasterPage.master"
过程是这样的:内容页根据页头的 MasterPageFile="~/TestMasterPage.master" 找到母版页后,再合并后在前台显示出来
private void Page_PreInit(object sender,Ev
MasterPage 的几个知识点:
1. 在母版页中的 ContentPlaceHolder ,相应的内容页显示为:Content
2. 母版页与内容页的数据通信:每一个控件都得找,
例如:((Label)Master.FindControl("label1")).Text ="MasterPage级别的:"+ DropDownList1.SelectedValue;
前面的label1是 母版页中的, 后面的 DropDownList1 是在内容页中,这句代码是写在 内容页的 cs 文件中.
3. 如果要改变 母版, 则应该在 内容页与母版页合并之前,改变母版页文件.方法如下
MasterPageFile="~/TestMasterPage.master"
过程是这样的:内容页根据页头的 MasterPageFile="~/TestMasterPage.master" 找到母版页后,再合并后在前台显示出来
private void Page_PreInit(object sender,EventArgs e)
{
if (Session["jiao"] == "")
{ //切换 母版页
Page.MasterPageFile = "/TestMasterPage.master";
}
}
4. 母版页还可以镶嵌使用.这里没做.
母版前台页面: testMasterPage.master
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
<%
@ Master Language="C#" AutoEventWireup="true" CodeFile="TestMasterPage.master.cs" Inherits="TestMasterPage" %>
2![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
<html xmlns="http://www.w3.org/1999/xhtml" >
6
<head runat="server">
7
<title>无标题页</title>
8
</head>
9
<body>
10
<form id="form1" runat="server">
11
<div>
12
MasterPage 的几个知识点:<br />
13
1. 在母版页中的 ContentPlaceHolder ,相应的内容页显示为:Content<br />
14
2. 母版页与内容页的数据通信:每一个控件都得找,<br />
15
例如:((Label)Master.FindControl("label1")).Text ="MasterPage级别的:"+ DropDownList1.SelectedValue;<br />
16
前面的label1是 母版页中的, 后面的 DropDownList1 是在内容页中,这句代码是写在 内容页的 cs 文件中.<br />
17
3. 如果要改变 母版, 则应该在 内容页与母版页合并之前,改变母版页文件.方法如下<br />
18
MasterPageFile="~/TestMasterPage.master"
19
<br />
20
过程是这样的:内容页根据页头的 MasterPageFile="~/TestMasterPage.master" 找到母版页后,再合并后在前台显示出来<br />
21
private void Page_PreInit(object sender,EventArgs e)
22
<br />
23
{<br />
24
if (Session["jiao"] == "")
25
<br />
26
{ //切换 母版页 <br />
27
Page.MasterPageFile
28
= "/TestMasterPage.master"; <br />
29
}
30
<br />
31
}
32
<br />
33
4. 母版页还可以镶嵌使用.这里没做.<br />
34
<br />
35
<table border="1" style="width: 100%">
36
<tr>
37
<td colspan="2" style="height: 45px; background-color: #ccccff">
38
这里是导航 ---后面是一个MasterPage的 label:
39
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></td>
40
</tr>
41
<tr>
42
<td style="width: 100px; height: 60px; background-color: #cccc66">
43
用户登录</td>
44
<td rowspan="2" style="width: 100px" valign="top">
45
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
46
</asp:ContentPlaceHolder>
47
</td>
48
</tr>
49
<tr>
50
<td style="width: 100px; height: 57px" valign="top">
51
<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
52
</asp:ContentPlaceHolder>
53
</td>
54
</tr>
55
</table>
56
</div>
57
</form>
58
</body>
59
</html>
60![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
内容页前台:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
<%
@ Page Language="C#" MasterPageFile="~/TestMasterPage.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" Title="Untitled Page" %>
2
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
3
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
4
<asp:ListItem Value="aaaaaa">aaaaaa</asp:ListItem>
5
<asp:ListItem>bbbbbb</asp:ListItem>
6
<asp:ListItem>ccccccc</asp:ListItem>
7
<asp:ListItem>dddddddd</asp:ListItem>
8
<asp:ListItem>EEEEE</asp:ListItem>
9
</asp:DropDownList><br />
10
<br />
11
<br />
12
这个是内容页的label:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
13
</asp:Content>
14
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
15
</asp:Content>
16![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
内容页后台:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
public partial class Default3 : System.Web.UI.Page
13![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
{
14
protected void Page_Load(object sender, EventArgs e)
15![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
16![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
}
18![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
#region
20![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
/**//// <summary>
21
/// 在 内容页 与 母版页合并之前运行的事件
22
/// 内容页根据页头的 MasterPageFile="~/TestMasterPage.master" 找到母版页后,再合并后在前台显示出来.
23
/// </summary>
24
private void Page_PreInit(object sender,EventArgs e)
25![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
26
if (Session["jiao"] == "")
27![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{ //切换 母版页
28
Page.MasterPageFile = "/TestMasterPage.master";
29
}
30
}
31
#endregion
32![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
34![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
35
((Label)Master.FindControl("label1")).Text ="MasterPage级别的:"+ DropDownList1.SelectedValue;
36
Label1.Text = "本页的label为" + DropDownList1.SelectedValue;
37
}
38
}
39![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)