母版页学习笔记
母版页指的是ASP.NET中的.master文件。母版页使用的指令与一般的ASP.NET的WEB页面不同,母版页使用<%@ Master>指令,并且母版页的.cs文件继承System.Web.UI.MasterPage
类。
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="SiteMaster"%>
获取母版页上的值
为了提供对母版页内容的访问,在Page页面提供了Master属性,使用@MasterPage指令创建对母版页得强类型应用。页面上Master属性的类型就是母版页类型。这样就可以直接通过Master属性访问母版页上public的属性和方法。
company.Name = Master.CompanyName;
由于母版页上的控件的访问级别默认都是受保护级别,能够直接访问。但是母版页跟内容页在Initial的时候就进行了合并,因此我们可以在内容页上通过Master.FindControl来获取母版页上的控件。但是,如果我们访问的是母版页的ContentPlaceHolder中的控件,则必须先通过Master.FindControl获取ContentPlaceHolder控件,然后通过ContentPlaceHolder.FindControl来获取我们需要的子控件。
ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder =
(ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder !=null)
{
mpTextBox = (TextBox) mpContentPlaceHolder.FindControl("TextBox1");
if(mpTextBox !=null)
{
mpTextBox.Text ="TextBox found!";
}
}
母版页的优点
1.将通用的功能集中管理。
2.对内容页面的样式进行集中的管理,规范页面布局,使用ContentPlaceHolder将样式布局细节到内容页面。