我有一个母版页文件,其中包含2个菜单的2个面板控件。我还使用一个控件来检查用户是否已登录,并获取用户的类型。
依赖于我想要显示/隐藏面板的类型。控件本身不在母版页中引用,而是通过CMS系统动态引用。
我想在用户控件中使用findcontrol来查找母版页中的面板控件。我尝试过不同的方法,但都返回了null。
母版页中的内容占位符是asp:Content runat=“ContentPlaceHolderID="PHMainBlock”
控件名为asp:Panel ID="NormalUser“runat="server”
我试过使用代码...
Panel ph = (Panel)Page.Master.FindControl("NormalUser");
ph.Visible = false;但是带回来的是null,有什么帮助吗?
谢谢..
发布于 2012-04-25 21:10:48
由于面板控件位于ContentPlaceHolder控件内,因此必须首先获取对ContentPlaceHolder的引用,然后使用其FindControl方法来定位TextBox控件。
ContentPlaceHolder mpContentPlaceHolder;
Panel pn;
mpContentPlaceHolder = (ContentPlaceHolder)Master.FindControl("PHMainBlock");
if(mpContentPlaceHolder != null)
{
pn = (Panel) mpContentPlaceHolder.FindControl("NormalUser");
pn.Visible = false;
}http://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx
https://stackoverflow.com/questions/10315967
复制相似问题