在执行页面代码之前不执行用户控制代码
User Control Code Not Execute Before Executing the Page Code
我有一个母版页,MasterPage1.master
它包含用户控件
header
、headercontent
和 footer
。
我在 headerconten usercontrol
中写了一段代码
if(session["somesession"]==null)
{
Response.Redirect("Somepage.aspx");
}
问题是当我在没有登录的情况下打开带有母版页文件 MasterPage1.master
的页面时,即 session["somesession"]==null
然后它为 session.It 的 OK 原因抛出空引用异常我的会话没有任何价值,这就是它抛出异常的原因。
我的问题是:
i was expecting to execute the usercontrol page code first before the
page code,and redirect to the somesession
but it's not happening.
can someone please explain me, why??
这是因为 Asp.net 生命周期,总是在页面加载之后加载控件,这是有道理的,因为页面初始化加载过程并递归地通知它的控件,并且大多数情况下都会发生这种情况asp.net 生命周期中的事件。
初始化
加载视图状态
处理回传数据
加载 - 此处 asp.net 从页面开始创建服务器控件树。
发送回发更改通知
处理回发事件
预渲染
保存状态
渲染
处置
卸载
中查看此 link 以获取更多信息
我有一个母版页,MasterPage1.master
它包含用户控件
header
、headercontent
和 footer
。
我在 headerconten usercontrol
if(session["somesession"]==null)
{
Response.Redirect("Somepage.aspx");
}
问题是当我在没有登录的情况下打开带有母版页文件 MasterPage1.master
的页面时,即 session["somesession"]==null
然后它为 session.It 的 OK 原因抛出空引用异常我的会话没有任何价值,这就是它抛出异常的原因。
我的问题是:
i was expecting to execute the usercontrol page code first before the page code,and redirect to the
somesession
but it's not happening. can someone please explain me, why??
这是因为 Asp.net 生命周期,总是在页面加载之后加载控件,这是有道理的,因为页面初始化加载过程并递归地通知它的控件,并且大多数情况下都会发生这种情况asp.net 生命周期中的事件。
初始化
加载视图状态
处理回传数据
加载 - 此处 asp.net 从页面开始创建服务器控件树。
发送回发更改通知
处理回发事件
预渲染
保存状态
渲染
处置
卸载
中查看此 link 以获取更多信息