0

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

public property System.Web.UI.Control SomeOtherControl;

我希望能够从使用该控件的 ASPX 页面设置此属性。现在,我能做到的唯一方法是在Page_Load代码隐藏中:

MyControl.SomeOtherControl = TheOtherControl;

不必在使用的每个页面的代码隐藏上MyControl执行此操作,我只想在 ASPX 页面上执行此操作:

<xyz:MyControl SomeOtherControl="TheOtherControlsID" />

为了做到这一点,我尝试在初始化Page.FindControl()时使用 ID 字符串上的方法来查找引用的控件MyControl,但它只搜索页面的顶级控件。我可以编写自己的 recursive FindControl(),但我认为必须有更好的方法来做到这一点,而且我担心这样的性能。有任何想法吗?

4

1 回答 1

1

递归 FindControl 可能比您想象的要快得多。即使有数百个控件,我什至无法测量处理时间的毫秒值差异。

于 2009-03-13T14:39:04.327 回答