关于 VS2005 Web 程序的中调用 Server.Transfer() 的怪异问题
在VS2005所创建的Web程序中,有两个页面,分别是Default.aspx和Default2.aspx
在页面Default.aspx中填加一个按钮Button2,然后在其OnClick事件中填加代码:
protected void Button2_Click(object sender, EventArgs e)
{
try
{
Server.Transfer("Default2.aspx", false);
}
catch (Exception ex)
{
Label1.Text = ex.Message;
}
}
即让其转向页面Default2.aspx.
如果使用断点调试,会发现在执行了Server.Transfer("Default2.aspx", false);这个语句后,会再次进入Default.aspx页面的Page_Load()中,执行一遍Page_Load()中的代码,这不是很奇怪么? 然后就会进入catch (Exception ex),把鼠标悬停在ex变量上,会显示信息:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值。"
请问这是为什么? 大家有兴趣可以试一试.