ASP.NET 嵌套母版页中找不到控件问题(未已用到对象错误)

故障现象:

三层嵌套母版页,用findcontrol方法只能找到第一层母版页的控件,找不到二层和三层的,提示未引用到对象实例错误。

原因分析:

Asp.net的确找不到嵌套母版页的控件,只能找到最顶层母版页的控件,即Master.Master.Master.FindControl才有效。

解决方法:

找到最顶层的容器ContentPlaceHolder

然后通过顶层容器找(findcontrol)第二层容器,在通过第二层容器找第三层容器,再从第二、三层容器中找控件。

实操示例:



顶层母版页:

<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage1.master.cs"Inherits="MasterPage1"%>

 

<!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<htmlxmlns="http://www.w3.org/1999/xhtml">

<headrunat="server">

    <title></title>

    <asp:ContentPlaceHolderid="CPH_master1_head"runat="server">

    </asp:ContentPlaceHolder>

</head>

<body>

    <formid="form1" runat="server">

    <div>

 

        <asp:LabelID="Label_master1"runat="server" Text="Label"></asp:Label>

        <hr/>

        <asp:ContentPlaceHolderid="CPH_master1_content"runat="server

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值