如何在自定义控件的主页面上设置属性?

时间:2013-10-09 13:33:29

标签: c# asp.net custom-controls

我有一个母版页。

我正在开发一个继承母版页的测试页面。

母版页有一个公共属性,可以打开和关闭可见性。

我有一组控件可以包含在testpage中。其中一个控件需要能够设置母版页控件的可见性。

通常在页面代码后面我会说;

this.Master.ShowItem = false;

我不知道如何从自定义控件访问此属性?

3 个答案:

答案 0 :(得分:2)

您只需将主人转换为正确的类型即可。假设您的主人的类型是SiteMaster

var master = this.Page.Master as SiteMaster;
if(master != null)  // cast failed, your master is a different type
{
    master.ShowItem = false;
}

所以导航是:

答案 1 :(得分:0)

(由于我的声誉,我不能发表评论,所以作为答案)

提示:确保要在母版页中访问的属性设置为public。

听从Tim Schmelter的解决方案可行。

答案 2 :(得分:-1)

我不相信你可以直接设置母版页的属性。 但是你可以找到母版页的控件,并使它们在这样的可能页面中可见/不可见:

((Label)this.Page.Master.FindControl("IdOfTYurControl")).Visible = false;