1

我正在尝试在 Web 部件(SP 2010)中动态生成复选框控件,但必须创建的复选框数量取决于先前 Web 部件的值。遵守 Web 部件通信基础架构,我只能在“onprerender”阶段获得该值。但是,如果我尝试创建具有该值计数的复选框,则无法在回发时获得复选框的选定值!我知道动态创建的控件应该放在 page_load 或 oninit 中。但是,这里不应该放在那里,因为我在预渲染阶段获得了特定的价值。请帮忙!对此感到震惊!

4

1 回答 1

1

Asp.net 需要您在第一次添加控件后重新创建动态添加的控件Init,直到您在页面上需要这些控件。

您可以使用Session变量来跟踪您的计数。

如果在调用方法时控件不存在ProcessPostData(在 LoadViewState 之后调用),您将无法接收用户输入。CheckedChanged 之类的事件也只会在您的控件在ProcessPostData调用之前出现在 Controls 集合中时才会触发。

参考:页面生命周期

于 2013-03-20T04:49:51.573 回答