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
1<%@ Master Language="C#" AutoEventWireup="true" CodeFile="TestMasterPage.master.cs" Inherits="TestMasterPage" %>
2
3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
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
内容页前台:
1<%@ 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
17
内容页后台:
1using System;
2using System.Data;
3using System.Configuration;
4using System.Collections;
5using System.Web;
6using System.Web.Security;
7using System.Web.UI;
8using System.Web.UI.WebControls;
9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class Default3 : System.Web.UI.Page
13{
14 protected void Page_Load(object sender, EventArgs e)
15 {
16
17 }
18
19 #region
20 /**//// <summary>
21 /// 在 内容页 与 母版页合并之前运行的事件
22 /// 内容页根据页头的 MasterPageFile="~/TestMasterPage.master" 找到母版页后,再合并后在前台显示出来.
23 /// </summary>
24 private void Page_PreInit(object sender,EventArgs e)
25 {
26 if (Session["jiao"] == "")
27 { //切换 母版页
28 Page.MasterPageFile = "/TestMasterPage.master";
29 }
30 }
31 #endregion
32
33 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
34 {
35 ((Label)Master.FindControl("label1")).Text ="MasterPage级别的:"+ DropDownList1.SelectedValue;
36 Label1.Text = "本页的label为" + DropDownList1.SelectedValue;
37 }
38}
39