获得动态加载用户控件的价值

时间:2016-06-02 23:42:49

标签: c# asp.net user-controls postback dynamic-usercontrols

我有一个由我的页面动态加载的用户控件。用户控件包含许多多选列表框和其他控件。

大部分工作都很好。在回发时,我的列表框控件被正确填充(我不必重新填充它们);但是,未设置任何选定的项目。也就是说,GetSelectedIndices()返回一个空集。

这里的正确顺序是什么?我的动态加载用户控件如何使用标准ASP.NET来获取所选的列表框值?

1 个答案:

答案 0 :(得分:0)

虽然Microsoft建议在Page_PreInit事件中重新创建动态控件,但事实上我发现在事件期间所有控件都是null。因此,我无法将动态控件添加到Placeholder控件,因为Placeholder控件仍为null

但是,我发现如果我在Page_Init事件中创建了动态控件,那么事情似乎工作正常。

请注意,当您动态加载控件时,ASP.NET将为该控件生成任何事件,这些事件通常会在创建动态控件之前触发。所以我的用户控件可以拥有我想要的所有事件处理程序,因为我通常会编写它们,而且一切似乎都正常。