如何使用另一个控件的ID将另一个控件作为参数传递到用户创建的ASP.NET控件中?

如何使用另一个控件的ID将另一个控件作为参数传递到用户创建的ASP.NET控件中?,asp.net,user-controls,parameter-passing,Asp.net,User Controls,Parameter Passing,我正在尝试创建一个控件(MyControl),它对它所在页面上的其他控件执行操作。它有一个属性: public property System.Web.UI.Control SomeOtherControl; 我希望能够从使用该控件的ASPX页面设置此属性。现在,我唯一能做的就是在代码背后的页面加载: MyControl.SomeOtherControl = TheOtherControl; 我不必在使用MyControl的每个页面后面的代码中执行此操作,我只想在ASPX页面上执行此操作:

我正在尝试创建一个控件(
MyControl
),它对它所在页面上的其他控件执行操作。它有一个属性:

public property System.Web.UI.Control SomeOtherControl;
我希望能够从使用该控件的ASPX页面设置此属性。现在,我唯一能做的就是在代码背后的
页面加载

MyControl.SomeOtherControl = TheOtherControl;
我不必在使用
MyControl
的每个页面后面的代码中执行此操作,我只想在ASPX页面上执行此操作:

<xyz:MyControl SomeOtherControl="TheOtherControlsID" />


为此,我尝试在
MyControl
初始化时,在ID字符串上使用
Page.FindControl()
方法查找引用的控件,但它只搜索页面的顶级控件。我可以编写自己的递归
FindControl()
,但我认为一定有更好的方法来实现这一点,我担心类似的性能。有什么想法吗?

递归FindControl可能比您想象的要快得多。即使有数百个控件,我也无法测量一毫秒的不同处理时间