我有一个由我的页面动态加载的用户控件。用户控件包含许多多选列表框和其他控件。
大部分工作都很好。在回发时,我的列表框控件被正确填充(我不必重新填充它们);但是,未设置任何选定的项目。也就是说,GetSelectedIndices()
返回一个空集。
这里的正确顺序是什么?我的动态加载用户控件如何使用标准ASP.NET来获取所选的列表框值?
答案 0 :(得分:0)
虽然Microsoft建议在Page_PreInit
事件中重新创建动态控件,但事实上我发现在事件期间所有控件都是null
。因此,我无法将动态控件添加到Placeholder
控件,因为Placeholder
控件仍为null
。
但是,我发现如果我在Page_Init
事件中创建了动态控件,那么事情似乎工作正常。
请注意,当您动态加载控件时,ASP.NET将为该控件生成任何事件,这些事件通常会在创建动态控件之前触发。所以我的用户控件可以拥有我想要的所有事件处理程序,因为我通常会编写它们,而且一切似乎都正常。