使用Server.Execute方法和Server.transfer方法重定向页面

Execute方法用于将执行从当前页面转移到另一个页面,并将执行返回到当前页面,执行所转移的页面在同一浏览器窗口中执行。然后原始页面继续执行。故执行Execute方法后,原始页面保留控制权。

Transfer方法用于将执行完全转移到指定页面。与Execute方法不同,执行该方法时主调页面将失去控制权。

下面示例实现的主要功能是通过Server对象的Execute方法和transfer方法重定向页面。执行程序,单击【Execute方法】按钮,示例运行结果如图1所示,单击【Transfer方法】按钮,示例运行结果如图2所示。

 

1  单击【Execute方法】按钮示例运行结果

2  单击【Transfer方法】按钮示例运行结果

程序实现的主要步骤:

新建一个网站,默认主页Default.aspxDefault.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");

}