【问题标题】:Getting Value for Dynamically Loaded User Control获取动态加载的用户控件的价值
【发布时间】:2016-10-02 21:32:26
【问题描述】:
我有一个由我的页面动态加载的用户控件。用户控件包含许多多选列表框和其他控件。
大部分都可以正常工作。在回发时,我的列表框控件已正确填充(无需我重新填充它们);但是,未设置任何选定的项目。也就是说,GetSelectedIndices() 返回一个空集。
这里的正确顺序是什么?我的动态加载的用户控件如何使用标准的 ASP.NET 来获取选定的列表框值?
【问题讨论】:
标签:
c#
asp.net
user-controls
postback
dynamic-usercontrols
【解决方案1】:
虽然微软建议在Page_PreInit事件中重新创建动态控件,但实际上我发现在事件期间所有控件都是null。因此,我无法将动态控件添加到我的Placeholder 控件,因为Placeholder 控件仍然是null。
但是,我发现如果我在 Page_Init 事件中创建动态控件,一切似乎都可以正常工作。
请注意,当您动态加载控件时,ASP.NET 将为该控件生成任何事件,这些事件通常会在创建动态控件之前触发。所以我的用户控件可以拥有我想要的所有事件处理程序,就像我通常编写的那样,并且一切似乎都正常。