我有一个包含以下代码的母版页:
protected void Page_Init(object sender, EventArgs e)
{
if (Session["SessionUserPreferences"] == null)
{
MyHelper.LoadInitialUserData(6);
}
}
在我的代码中,我使用SessionUserPreferences中加载的一些数据来显示Page_Load事件中的页面。母版页的Page_Init事件出现在aspx页面的Page_load事件之前,因此理论上当我到达后面的代码时数据应该在会话中。但情况总是如此吗?从DB加载数据所需的时间是否大于Page_load事件触发的时间?我正在使用InProc Session。
感谢。
答案 0 :(得分:3)
Page_Load在Page_Init完成之前不会执行。你应该仍然检查它是否在Page_Load中为空。
答案 1 :(得分:2)
仅供参考,事件顺序MSDN x
所以回答你的问题: 如果主页的init事件被触发,则其他主事件和子事件将按顺序触发,如上面文章链接中所述......