在我的test.aspx页面上,不同的ascx控件上出现了多个asp:面板。我想在运行时通过我有权访问的面板禁用面板。有办法吗?
答案 0 :(得分:2)
您应该在ascx控件中创建一个方法来启用/禁用面板。父母不应该访问该面板。 ascx控件必须处理它。
更新
您可以创建一个代理属性,它将值传递给子控件(Panel1)。此代码与ascx控件一起放置。
public bool PanelVisible
{
get
{
return Panel1.Visible;
}
set
{
Panel1.Visible = value;
}
}
答案 1 :(得分:0)
如果您知道要禁用的面板的ID,则可以执行以下操作:Panel pnl = this.Page.FindControl(id)as Panel; pnl.Visible = true / false;
如果面板不是页面的子节点,则可以编写递归的findcontrol方法。