我正在 c# asp.net 中编写一个复合控件作为实验,并希望我的复合控件的所有实例与一个外部控件交互。这可能吗?
我尝试过的事情:
选项1:从控件内部检查页面上是否存在外部控件,如果不存在则添加
选项 2:在设计时将目标控件的 id 传递给复合控件,然后使用 this.Page.FindControl()
显然,它会这么简单是一厢情愿:)
如果我尝试从 CreateChildControls 方法中执行此操作,this.Page.FindControl(target control) 始终返回 null。如果我尝试在此方法中将控件添加到页面,则会引发异常:
“在 DataBind、Init、Load、PreRender 或 Unload 阶段不能修改控件集合。”
是否有另一种方法/事件可以实现这一目标?