是否可以从内容 (.aspx) 页面中删除母版页 (.master) 中存在的用户控件 (.ascx)?

Is it possible to remove a user control (.ascx) present in master page (.master) from content (.aspx) page?

我有一个母版页,它被继承到很多内容页。我有一个特定的页面,我不希望其中一个用户控件出现在母版页中。我不想为此创建单独的母版页。我想知道是否有任何方法可以防止母版页中存在的用户控件被继承到子/内容页。感谢你的帮助。谢谢!

在用户控件中,

protected void Page_Init(object sender, EventArgs e)
{
    Css.Register(this, "/css/reset.css", BrowserTarget.All, true);
}

在母版页中,添加了用户控件

我正在尝试删除/防止继承到的部分(css in reset.css) 内容页

ol, ul {
list-style: none;
}

您可以在子控件中使用:

((UserControl)this.Master.FindControl("userControlName")).Visible = false;

试试这个

    MasterPage master = this.Master;
    UserControl userControl = (UserControl)master.FindControl("userControlName");
    if(userControl != null)
{
    master.Controls.Remove(userControl );
}

为了让您所说的控件永远不存在,并且隐藏的反馈不符合您的需求,我猜删除控件也不会。

此处唯一的其他选择是更改母版页以具有加载控件的标志。这会将方法从 "remove this if" 更改为 "include this when." 然后,在您的调用页面中,您需要设置该标志。为了减少这项新更改的侵入性,请将默认值设置为 true,并在此页面中将其设置为 false。