我的母版页包含此:无法在内容占位访问标签在母版页
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
<asp:Label ID="User" runat="server" Text="Welcome, " Visible="false"></asp:Label>
</asp:ContentPlaceHolder>
我试图访问这样的标签:
Label welcomeLabel;
ContentPlaceHolder cPlaceHolder;
cPlaceHolder = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if (cPlaceHolder != null)
{
welcomeLabel = (Label)cPlaceHolder.FindControl("User");
if (welcomeLabel != null)
{
welcomeLabel.Text = "Welcome, " + u.Name;
welcomeLabel.Visible = true;
}
}
我检查该ContentPlaceHolder1实际上是找到并使用HasControls()它返回true,但我似乎无法访问标签。
帮帮我吗?
尝试找到this.Master.FindControl(“User”);并看看它是否来临 –
你打电话给你的代码的时刻?此外,我的代码是否运行在另一个contentplaceholder中嵌入的页面的上下文中?我可以告诉你,你的代码在这里工作。 – platon
@platon - 此代码在页面加载时运行。当我在实际页面上放置id = user的标签时,这个代码被调用,但是我对master页面的理解是,我不应该那样做。 – Jackass