在asp.net中设置子母版页中控件的可见性的问题

Sre*_*ree 2 c# asp.net master-pages nested

我有一个父母版页(Master.Master)和子母版页(Child.Master).Child.Master继承Master.Master主页文件.现在在Child.Master中我想将Div(其ID为Div1)的可见性设置为false,我正在使用以下代码:

protected void Page_Load(object sender, EventArgs e)
{
   this.FindControl("Div1").Visible = false;
}
Run Code Online (Sandbox Code Playgroud)

以下是Child Master Page文件中的代码:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Webstore.Master.cs" Inherits="WebStore.WebStoreMaster" MasterPageFile="~/Login.Master" %>
<asp:Content ID="UserMaster" runat="server" ContentPlaceHolderID="ContentPlaceHolder1">    
<div id="Div1" runat="server">
<div id="Sidebar" runat="server" style="float: left; margin-top: 100px; margin-right: 20px;">
</div>
</div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

编译器给我以下错误:

Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)

有人能解释为什么会这样吗?

谢谢你的期待

Bal*_*a R 5

编辑:

在这种情况下,如果div是顶级元素,并且您位于div所在的子母版页的page_load中,那么您应该能够做到

Div1.Visible = false;
Run Code Online (Sandbox Code Playgroud)

为什么不使用Panel控件?