我有一个母版页。
我正在开发一个继承母版页的测试页。
母版页有一个公共属性,可以访问以打开和关闭可见性。
我有一组可以包含在测试页中的控件。这些控件之一需要能够设置母版页控件的可见性。
通常在后面的页面代码中我会说;
this.Master.ShowItem = false;
我不知道如何能够从自定义控件访问此属性?
我有一个母版页。
我正在开发一个继承母版页的测试页。
母版页有一个公共属性,可以访问以打开和关闭可见性。
我有一组可以包含在测试页中的控件。这些控件之一需要能够设置母版页控件的可见性。
通常在后面的页面代码中我会说;
this.Master.ShowItem = false;
我不知道如何能够从自定义控件访问此属性?
您只需要将 master 转换为正确的类型。假设您的主人的类型是SiteMaster
:
var master = this.Page.Master as SiteMaster;
if(master != null) // cast failed, your master is a different type
{
master.ShowItem = false;
}
所以导航是:
(对不起,由于我的声誉,我不能发表评论,所以作为答案)
提示:确保您要在母版页中访问的属性设置为公开。
注意到这一点,Tim Schmelter 的解决方案效果很好。
我不相信您可以直接设置母版页的属性。但是您可以找到母版页的控件,并使它们在 conternt 页面中可见/不可见,如下所示:
((Label)this.Page.Master.FindControl("IdOfTYurControl")).Visible = false;