Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在asp.net的子母版页中设置控件可见性时出现问题_C#_Asp.net_Master Pages_Nested - Fatal编程技术网

C# 在asp.net的子母版页中设置控件可见性时出现问题

C# 在asp.net的子母版页中设置控件可见性时出现问题,c#,asp.net,master-pages,nested,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; } 以下是子母版页文件中的代码: &

我有父母版页(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;
}
以下是子母版页文件中的代码:

<%@ 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>
有人能解释为什么会这样吗

期待中的感谢

编辑:

在这种情况下,如果div是一个顶级元素,并且您处于div所在的子母版页的页面加载中,那么您应该能够执行以下操作

Div1.Visible = false;

为什么不使用面板控件?

尝试在内容页和子母版页中设置@MasterType。下面是一些参考链接


谢谢

主页面是在页面加载之后加载的。因此,当您尝试在页面加载期间寻址母版页时,其属性和方法尚不可用。在页面生命周期中将其向下移动。子母版在页面加载期间加载,父母版在子母版页面加载期间加载。

您应该说

this.Master.FindControl("Div1").Visible = false;

您是否已通过在浏览器中使用视图源确认div以预期id呈现?(id=“div1”)。是否动态加载child.master?是否在父母版或子母版页中定义了
?是否在子母版页中定义@Bala?这是子母版的页面加载?还是内容页?@Bala page\u子母版的加载page@yes这里有一个符文attribute@PeachLabs,他只是加入了标记。我很快就会删除我的答案。这很有效。工作花了一些时间,因为我犯了一个愚蠢的错误。感谢您的帮助和即时反馈。非常感谢您的努力我应该在哪里设置MasterType指令,是在父母版页还是在子母版页?@user65正如我在第一行中提到的,您也可以在子母版页和内容页中设置指令。
this.Master.FindControl("Div1").Visible = false;