asp.net2.0访问母版页的控件和属性
访问母版页的控件和属性
母版页和内容页都可以有各自的控件和属性,而且在各自的内部引用是比较容易的。如果从内容页中引用母版页的控件和属性,那将会变的有些困难。本节将向读者介绍在内容页中如何编写代码访问母版页的控件和属性。
1.使用Master.FindControl()方法访问母版中的控件
在内容页中,对象Page具有一个公共属性Master,该属性能够实现对相关母版页基类MasterPage的引用。母版页中的MasterPage相当于普通ASP.NET页面中的Page对象,因此,可以使用Masterpage对象,实现对母版页中各个子对象的访问,但由于母版页中的控件是受保护的,不能直接访问,因此必须使用MasterPage对象的FindControl方法实现。
示例
使用FindControl方法获取母版页的控件
本示例将向读者介绍如何使用FindControl方法,获取母版页中用于显示系统时间的Label控件。示例运行结果如图1所示。
程序开发步骤如下。
(1)新建一个网站,命名为16_02。
(2)在该网站的解决方案下,右键单击网站名称,然后单击“添加新项”,打开“添加新项…”对话框,首先添加一个母版页,命名为MainMasterPage.master;再添加一个Web窗体,命名为Default.aspx,作为母版页的内容页。
(3)在母版页MainMasterPage.master上添加一个Label控件,用于显示母版页中的系统日期;再在内容页Default.aspx中添加一个Label控件,获取母版页中的Label控件值,并将其显示出来。

图1 获取母版页中控件的示例
图1所示的Web页是由母版页和内容页组成的,母版页包括页头和页尾,内容页是中间的非公共部分。在母版页中定义了一个Label控件,使其显示系统当前的日期,在内容页中编写代码获取母版页中的Label控件的Text值,赋给内容页中的Label控件,并将其显示出来。
母版页MainMasterPage.master源代码如下:
<%@ Master Language="C#" AutoEventWireup="True" CodeFile="MainMasterPage.master.cs" Inherits=" MainMasterPage" %>
访问母版页的成员完整程序代码如下:
★ ★★★★Default.aspx代码文件完整程序代码★★★★★
<%@ Page Language="C#" MasterPageFile="~/MainMasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
<%@ MasterType VirtualPath ="~/MainMasterPage.master" %>
Copyright ©2011- |
|
uuhomepage.com, Inc. All rights reserved.
|