1、Server.Transfer 使用服务器端方法将用户重定向到另一页
在此方案中,服务器只是将上下文传输到另一页。其优点是您可以共享页之间的页上下文信息。其缺点是用户的浏览器不知道在进行传输,因此不更新浏览器的历史记录。如果用户刷新此页,则可能会产生意外的结果。通常在程序内部各个form之间跳转的时候使用。
以下示例显示如何重定向到另一页。
' Visual Basic
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Server.Transfer("Webform2.aspx")
End Sub
以下示例显示如何根据局部变量 UserLanguage(在其他地方设置)的内容来进行重定向。
' Visual Basic
Response.BufferOutput = True
If UserLanguage = "English" Then
Response.Redirect("http://www.microsoft.com/gohere/look.htm")
ElseIf UserLanguage = "Deutsch" Then
Response.Redirect("http://www.microsoft.com/gohere/look_deu.htm")
ElseIf UserLanguage = "Español" Then
Response.Redirect("http://www.microsoft.com/gohere/look_esp.htm")
End If
// C#
Response.BufferOutput = true;
if (UserLanguage == "English")
{
Response.Redirect("http://www.microsoft.com/gohere/look.htm");
}
else if (UserLanguage == "Deutsch")
{
Response.Redirect("http://www.microsoft.com/gohere/look_deu.htm");
}
else if (UserLanguage == "Español")
{
Response.Redirect("http://www.microsoft.com/gohere/look_esp.htm");
}
1、Server.Transfer - 用于把处理的控制权从一个页面转移到另一个页面,在转移的过程中,没有离开服务器,内部控件(如:request, session 等)的保存的信息不变,因此,你能从页面 A 跳到页面 B 而不会丢失页面 A 中收集的用户提交信息。此外,在转移的过程中,浏览器的 URL 栏不变。
2、Response.Redirect - 发送一个 HTTP 响应到客户端,告诉客户端跳转到一个新的页面,客户端再发送跳转请求到服务器。使用此方法时,将无法保存所有的内部控件数据,页面 A 跳转到页面 B,页面 B 将无法访问页面 A 中 Form 提交的数据。