如何使用另一个控件的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可能比您想象的要快得多。即使有数百个控件,我也无法测量一毫秒的不同处理时间