我正在处理页面加载特定控件的项目,具体取决于可用的索引。加载发生在调用方法PopulateSearchField的页面加载中。FindControl找不到我动态添加的UserControl
在这个方法中,所有的UserControl都被添加在页面上:Page.LoadControl(“path”);
页面加载和所有需要的控件都在页面上。我的问题是,当用户点击搜索按钮时,事件被触发,并且基于用户输入的这些控件构建查询。不幸的是,该方法无法产生正确的查询,因为它无法找到页面上的任何控件。
使用一个临时的ControlCollection变量,我已经能够看到我的页面上的控件数量是3,当它应该是从4到10的东西时。集合中的这3个控件是静态标签和按钮这一页。
我不知道该代码是否有问题,或者是因为此解决方案用于框架1.1上的页面循环问题。是的,我知道这不是最好的办法,但他们这样做,我必须让它工作。
我不确定是否迁移导致了问题。
非常感谢,大卫!
UPDATE:至少在Page_Load或PreInit的末尾,取决于我在哪里使用PopulateSearchField方法,我可以到达Page.Controls集合,并且所有动态添加的控件都在那里。只有在Search_Button.click()这些控件不再存在。也许它可以帮助你。 – David 2011-03-25 11:54:05