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

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 页");

}