asp.net页面master页面与ascx用户控件传值的问题

时间:2022-01-11 17:20:17

aspx 页面与ascx用户控件传值的问题 
1.建立ascx控件 
2.给ascx加上属性 
3.将控件拖入aspx中 
4.在aspx的代码中按控件ID访问属性 
如: <uc3:left_Repassword ID="left_Repassword1" runat="server" /> 
left_Repassword1.HighLight = value; 
也同样适用于master页面访问ascx 

ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页的方法 
总结了一下ASP.Net访问母版页(master)控件、属性、方法及母版页中调用内容页(aspx)的方法,供大家参考: 

首先,必须通过内容页中的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页中控件的所有事件。