Execute方法用于将执行从当前页面转移到另一个页面,并将执行返回到当前页面,执行所转移的页面在同一浏览器窗口中执行。然后原始页面继续执行。故执行Execute方法后,原始页面保留控制权。
而Transfer方法用于将执行完全转移到指定页面。与Execute方法不同,执行该方法时主调页面将失去控制权。
下面示例实现的主要功能是通过Server对象的Execute方法和transfer方法重定向页面。执行程序,单击【Execute方法】按钮,示例运行结果如图1所示,单击【Transfer方法】按钮,示例运行结果如图2所示。
图1 单击【Execute方法】按钮示例运行结果

图2 单击【Transfer方法】按钮示例运行结果
程序实现的主要步骤:
新建一个网站,默认主页Default.aspx,在Default.aspx页面上添加两个Button控件,它们的属性设置如表1所示。
表1 Default.aspx页面中控件属性设置及其用途
|
控件类型 |
控件名称 |
主要属性设置 |
用途 |
|
标准/Button控件 |
btnExecute |
Text属性设置为“Execute方法” |
使用Execute方法重定向页面 |
|
标准/Button控件 |
btnTransfer |
Text属性设置为“Transfer方法” |
使用Transfer方法重定向页面 |
单击【Execute方法】按钮,利用Server对象的Execute方法从“Default.aspx”页重定向到“newPage.aspx”页,然后控制权返回到主调页面(“Default.aspx”)并执行其他操作。代码如下:
protected void
btnExecute_Click(object sender, EventArgs e)
{
Server.Execute("newPage.aspx?message=Execute");
Response.Write("Default.aspx页");
}
单击【Transfer方法】按钮,利用Server对象的Transfer方法从“Default.aspx”页重定向到“newPage.aspx”页,控制权完全转移到“newPage.aspx”页。代码如下:
protected void
btnExecute_Click(object sender, EventArgs e)
{
Server.Transfer("newPage.aspx?message= Transfer ");
Response.Write("Default.aspx页");
}