这两种情况之间是否存在差异:
(1)从普通孩子访问母版页上的属性
(2)从嵌套母版页访问母版页上的属性
它工作,但然后当我在嵌套的母版页上应用相同的方法时:
这不起作用,我错过了什么吗?我在resumere page_load处理程序中调用这两个代码…
我也注意到我无法在代码后面的嵌套母版页中设置文本框值,肯定有一些东西我不见了,它是什么?
为了阐明这个问题,这里有一个例子:
嵌套母版页:
- <%@ Master Language="C#" MasterPageFile="MasterPage.master" AutoEventWireup="false" CodeFile="MasterPage2.master.cs" Inherits="MasterPage2" %>
- <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
- <asp:textBox id="tx2" runat="server" text="this is two"></asp:textBox>
- <asp:contentplaceholder id="newstuff" runat="server"></asp:contentplaceholder>
- </asp:Content>
代码背后:
- Response.Wrote(tx2.Text);
我没有,为什么我错过了什么?请注意,我也尝试了递归查找控件:
- String str = ((TextBox)((Content)FindControl("Content2")).FindControl("tx2")).Text;
依然没有
解决方法
- ContentPlaceHolder cp = (ContentPlaceHolder)this.Master.Master.FindControl("ContentPlaceHolder1");
- //base content place holder id
- Label objLabel3 = (Label)cp.FindControl("lblNested");
- //lblNested is id in nested master page