在母版页中隐藏用户控件
本文关键字:用户 控件 隐藏 母版页 | 更新日期: 2023-09-27 18:01:16
我有一个usercontrol,它存在于我的web应用程序的所有页面。
我想把这个用户控件隐藏在一个页面中。
我在master上有这个用户控件。master:
<%@ Register Src="~/LCSK/LiveSupportChat.ascx" TagPrefix="lc2" TagName="chat" %>
…在里面,我称之为:
<lc2:chat runat="server" ID="ClientUserControl" Visible="true" />
然后我有我的aspx页面,我想隐藏userControl.
aspx页有另一个母版页(不同于master.master):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LiveSupportChat.aspx.cs" Inherits="TrainReadyV3.LiveSupportChat" MasterPageFile="~/App.Master" %>
在app。master中有:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="App.master.cs" Inherits="TrainReadyV3.App" MasterPageFile="~/master.Master" %>
我如何从master访问用户控件,并在用户访问livessupportaspx时隐藏它?
如果你想获得母版页你可以这样做,但我不明白,你有母版页在母版页还是?
foreach (Control a in Page.Master.Controls)
{
foreach (Control c in Master.Controls)
{
if (c.UniqueID == "form1")
{
foreach (Control b in c.Controls)
{
if (b.UniqueID.Contains("header"))
{
b.Visible = false;
}
}
}
}
}
我认为以下做法更有可能奏效:
ContentPlaceHolder cp = this.Master.Master.FindControl("MainContent") as ContentPlaceHolder;
Control uc= cp.FindControl("ClientUserControl") as Control;
你的主(最顶层)主页有一个内容占位符,如:
<asp:ContentPlaceHolder ID="MainContent" runat="server" />