c#(asp.net)访问母版页的控件、属性、方法介绍

发布时间:2019-09-02编辑:脚本学堂
为大家介绍ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法,有需要的朋友可以参考下。

为大家介绍ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法,有需要的朋友可以参考下。

首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加:
<%@ MasterType VirtualPath="~/Master/MenuElement.master" %>
其中VirtualPath设置母版页url地址

1、获取母版页控件引用。
 

复制代码 代码示例:
/// <summary>
/// 获取对母板页中一个TreeView控件的引用
/// </summary>
public TreeView ElementStructureTree
{
get
{
return tvElementStructure;
}
set
{
tvElementStructure = value;
}
}

在母版页中定义一个公共属性ElementStructureTree,该属引用了母版页中tvElementStructure控件,然后,在内容页中就可以通过公共属性Master(核心对象Page的一个属性)来引用母版页中tvElementStructure控件,如下:
 

复制代码 代码示例:
TreeView tv = Master.ElementStructureTree;

2、访问母版页属性。
母版页中的属性一般有三种:
值类型、类类型、控件类型,上面的“获取母版页控件引用”实际上就是访问控件类型属性,其它两种类型的属性可以用同样的方法访问。

3、调用母版页方法。
母版页中定义的公共方法可以通过Master直接调用。

4、母版页中调用内容页的方法。
母版页中定义委托:
 

复制代码 代码示例:
public delegate void ElementSelectedChangeHandler();

母版页中实例化委托(又是一个属性):
 

复制代码 代码示例:
public ElementSelectedChangeHandler ElementSelectedChange { private get; set; }

在母版页中需要的地方调用委托:
 

复制代码 代码示例:
if (ElementSelectedChange != null)
{
ElementSelectedChange();
}

内容页中指定一个与委托签名匹配的方法:
 

复制代码 代码示例:
Master.ElementSelectedChange = this.ElementSelectedChange;

5、Master页的AutoEventWireup属性一定要设置为"true",才会自动触发Master页中控件的所有事件。