我使用的是向导控件,步骤1有一个列表框,该列表框包含条目1-10。然后,步骤2动态构建并为每个条目显示一个列表框。步骤2中的每个列表框都包含5个条目。我还有一个步骤,需要读取步骤2中的列表框,并获取它们的值,以便在步骤2中的每个选择项上显示3个单选按钮。
目前,我有3个运行populateStep1()、populateStep2()、populateStep3()的方法。我在Page_Load中运行每一个。
void page_load()
{
if(!Page.IsPostBack)
{
populateStep1();
}
populateStep2();
populateStep3();
}我的问题是,第三步永远不会在第一次运行。第二次有效,但第一次不起作用。我相信这是因为步骤2中的控件还没有应用视图状态,所以没有选择任何内容。
有没有人想要勾勒出一个模式来处理依赖于其他动态控件的动态控件?
发布于 2010-09-08 00:27:56
如果你正在使用动态添加的控件,那么你真的需要在page life cycle的初始化阶段添加它们,因为这将确保视图状态被正确地加水。
因为View State在Page_Load之前就被合并了,所以你添加东西已经太晚了。
将您的逻辑转移到Page_Init方法中,您应该是黄金级的。
void Page_Init()
{
if(!Page.IsPostBack)
{
populateStep1();
}
populateStep2();
populateStep3();
}https://stackoverflow.com/questions/3660533
复制相似问题