我正在使用向导控件,步骤1有一个列表框,其中包含一个包含条目1-10的列表框。步骤2然后动态构建并在每个条目中显示1个列表框。步骤2中的每个列表框各包含5个条目。我还有一个步骤需要从第2步中读取列表框并获取它们的值,以便在步骤2中为每个选择的条目显示3个单选按钮。
目前我有3种方法可以运行populateStep1()populateStep2()populateStep3()。我在Page_Load中运行每个。
void page_load()
{
if(!Page.IsPostBack)
{
populateStep1();
}
populateStep2();
populateStep3();
}
我的问题是第3步第一次无法正常工作。它第二次工作,但不是第一次。我相信这是因为步骤2中的控件尚未应用viewstate,因此没有选择任何内容。
任何人都想草绘/指出一个模式来处理依赖于其他动态控件的动态控件吗?
答案 0 :(得分:0)
如果您正在使用动态添加的控件,那么您真的需要在page life cycle的初始化期间添加它们,因为这将确保View State正确地保持水合。
由于View Page在Page_Load之前是水合的,所以你添加的东西太晚了。
将您的逻辑移到Page_Init
方法中,您应该是金色的。
void Page_Init()
{
if(!Page.IsPostBack)
{
populateStep1();
}
populateStep2();
populateStep3();
}