Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 覆盖面板时在RenderBeginTag中的RenderControl ascx中找不到控制_Asp.net_User Controls_Overriding_Findcontrol_Webusercontrol - Fatal编程技术网

Asp.net 覆盖面板时在RenderBeginTag中的RenderControl ascx中找不到控制

Asp.net 覆盖面板时在RenderBeginTag中的RenderControl ascx中找不到控制,asp.net,user-controls,overriding,findcontrol,webusercontrol,Asp.net,User Controls,Overriding,Findcontrol,Webusercontrol,我正在使用面板控件创建一个容器,如下所示: public class CustomContainer : Panel { public override void RenderBeginTag(HtmlTextWriter writer) { var control this.Page.LoadControl("web user control path.ascx"); control.ID = "userControlId"; control.RenderControl(wri

我正在使用面板控件创建一个容器,如下所示:

public class CustomContainer : Panel
{
 public override void RenderBeginTag(HtmlTextWriter writer)
 {
  var control this.Page.LoadControl("web user control path.ascx");
  control.ID = "userControlId";
  control.RenderControl(writer);
  base.RenderBeginTag(writer);
 }
 public void ShowMessage(string message)
 {
  var control = this.FindControl("userControlId"); // control here is null!!
  var custom = control as CustomControl;
  custom.Message = message;
 }
}
当我试图找到id为userControlId的控件时,它总是返回null! 有人知道发生了什么吗?我如何解决这个问题

顺便说一句:我不能在CreateChildControls方法中添加CustomControl,因为如果CustomContainer有代码块,我会得到一个异常

无法修改控件集合,因为控件 包含代码块,即

您可能在呈现控件之前调用ShowMessage。尝试在OnPreLoad或OnLoad期间调用ShowMessage。基本上,渲染后的任何位置