asp:使用Visible =“False”时内容仍然可见

时间:2017-03-28 12:43:17

标签: c# asp.net webforms visibility asp.net-controls

我有一个母版页,里面有一对ContentPlaceHolder,并添加了这个母版页的一些内容页面。

我想在某个页面中将Visible="False"设置为asp:Content,但由于我仍然无法查看两个asp:Content控件的数据,因此无效。

为什么?

  

母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterBase.Master.cs" Inherits="MasterBase" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

        <html xmlns="http://www.w3.org/1999/xhtml" >
        <head runat="server">          

        </head>        
        <body>
            <form id="form1" runat="server">
                <!-- HEADER -->
                <asp:ContentPlaceHolder ID="head" runat="server" />

                <!-- CONTENT -->
                <asp:ContentPlaceHolder ID="bodyContent" runat="server" />

                <!-- FOOTER -->
                ...
            </form>
        </body>
</html>
  

内容页面

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server" Visible="False">
      <!-- Some Data -->
</asp:Content>


<asp:Content ID="Content2" ContentPlaceHolderID="bodyContent" runat="server">
     <!-- Some Data -->  
</asp:Content>

1 个答案:

答案 0 :(得分:1)

试试这个

 mpContentPlaceHolder = (ContentPlaceHolder)Master.FindControl("Content1");

 mpContentPlaceHolder.Visible=False;