我有一个usercontrol,它存在于我的网络应用程序的所有页面中。
我想在一个页面中隐藏该用户控件。
所以我在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获取用户控件,并在用户转到livesupport aspx时隐藏它?
答案 0 :(得分:0)
如果您想获得母版页,您可以这样做,但我不明白,您在母版页中有母版页?或者
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;
}
}
}
}
}
答案 1 :(得分:0)
我认为以下有更好的工作机会:
ContentPlaceHolder cp = this.Master.Master.FindControl("MainContent") as ContentPlaceHolder;
Control uc= cp.FindControl("ClientUserControl") as Control;
您的主(最顶层)母版页有一个contentplaceholder,如:
<asp:ContentPlaceHolder ID="MainContent" runat="server" />