我根据用户点击的标签动态加载其中一个用户控件。我将选定的选项卡索引存储在视图状态中。用户控件上有一个复选框,用于触发OnChanged事件。我的问题是,如果我在Page_Load中加载用户控件,则复选框事件不会触发,因为控件未及时创建。如果我在Page_Init中加载用户控件,页面不知道要加载哪个用户控件我相信因为尚未加载ViewState。如何存储要加载的用户控件并将用户控件上的事件触发?
答案 0 :(得分:1)
我发现的最佳策略是在Page_Init事件中创建所有控件,并将它们的Visible
属性设置为false(在您的情况下为Page_Load),如果它们不应出现在渲染页面。
修改强>
另一种选择是根据一些其他标准(ViewState除外)确定要加载哪些控件。例如,如果您将当前选项卡作为查询字符串参数之一,那么在Page_Init期间,该数据将在请求中可用。