多层母板页的Master.FindControl

tg01 2009-06-10 07:03:53
例:
a是b的母板页,b是c的母板页

c.aspx.vb[code]

master 可以找到b
master.master.FindControl("ContentPlaceHolder1")可以找到a的ContentPlaceHolder

但是
master.FindControl("Content1")却是Nothing

何解?

...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
随智阔 2012-06-08
  • 打赏
  • 举报
回复
解决使用MasterPage后,Page.FindControl方法找不到指定控件的问题
tg01 2009-06-11
  • 打赏
  • 举报
回复
找到啦~~


Master.Master.FindControl("ContentPlaceHolder1").FindControl("Content1")


原来要从嵌套最上层开始找,
KK3K2005 2009-06-11
  • 打赏
  • 举报
回复
多层母版页感觉用起来太麻烦了

如果一定要有一个公用的 且可以有限设置状态的 部分 为什么不用 自定义控件呢
tg01 2009-06-11
  • 打赏
  • 举报
回复
顶一下吧..
tg01 2009-06-11
  • 打赏
  • 举报
回复
A.master

<%@ Master Language="VB" CodeFile="A.master.vb" Inherits="A" %>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>


B.master

<%@ Master Language="VB" MasterPageFile="~/a.master" AutoEventWireup="false" CodeFile="b.master.vb" Inherits="B" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</asp:Content>


c.aspx

<%@ Page Title="" Language="VB" MasterPageFile="~/B.master" AutoEventWireup="false" CodeFile="c.aspx.vb" Inherits="c" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>


c.aspx.vb

master.Master.FindControl ("ContentPlaceHolder1") '找到a的ContentPlaceHolder
master '找到b
master.FindControl ("ContentPlaceHolder1") '找不到b的ContentPlaceHolder
master.FindControl ("Content1") '找不到b的Content


也就是说,master.FindControl所有页面上的控件ID都是nothing
为啥?
wuyq11 2009-06-10
  • 打赏
  • 举报
回复
wuyq11 2009-06-10
  • 打赏
  • 举报
回复
TextBox tb = Master.FindControl("ContentPlaceHolder1").FindControl("TextBox1") as TextBox;
TextBox textBoxFind = (TextBox)this.Page.Master.FindControl(masterPageContentPlaceHolderID).FindControl("");
参考

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧