簡體   English   中英

在母版頁中隱藏用戶控件

[英]Hide User Control in Master Page

我有一個用戶控件,該控件存在於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" %>

我如何才能從主控獲得用戶控件的訪問權,並在用戶轉到livesupport aspx時將其隱藏?

如果您想獲得母版頁,可以用這種方法來做,但是我不明白,您在母版頁中有母版頁或?

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;

您的主要(最上面)母版頁具有contentplaceholder,例如:

<asp:ContentPlaceHolder ID="MainContent" runat="server" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM