是否有办法从嵌套的母版页访问用户控件上的公共属性?
让我进一步解释
我有三个深母版页
- global.master
- LargeTopNav。master(继承global.master)
- LargeTopNav25-50-25。master(继承LargeTopNav.master)
- 功能。aspx -这个页面是我想访问我对LargeTopNav自定义用户控件的地方。master可以设置一个属性。
我对。net相当陌生,所以任何帮助都很感激。
您可以在特性上设置MasterType
属性。Aspx 页面,例如:
<%@ MasterType VirtualPath="~/masters/LargeTopNav.master" %>
然后,依次通过在LargeTopNav中创建的属性提供对控件属性的访问。母版母版页类:
public partial class LargeTopNavMaster : MasterPage
{
// ...
public string ThePropertyOfTheContainedControl
{
get { return MyContainedControl.TheProperty; }
set { MyContainedControl.TheProperty = value; }
}
// ...
}
最后,在特性中。Aspx 页,访问母版页的属性,该属性提供对底层控件的访问:
public partial class Feature : Page
{
// ...
protected void Page_Load( object sender, EventArgs e )
{
Master.ThePropertyOfTheContainedControl = "Some nice text.";
}
// ...
}
通常我在这种情况下所做的是使您的主页实现一个接口(它将具有您的用户控制的属性),然后从您的主页feature.aspx
使用this.Master
(或this.Master.Master
,确保检查null
)获得对主页的引用。
然后,只需将母版页类型转换为接口,并访问该属性。