技术文章 > 将用户重定向到另一页

将用户重定向到另一页

2018-08-18 12:18

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:


作者:佚名 时间:2005-06-08 12:44 出处:中文MSDN 责编:chinaitpower

摘要:您可能想要将用户从一个 Web 窗体页重定向到另一页。您这样做可能是为了显示与用户的浏览器功能匹配的页或以用户使用的语言编写的页。


有两种方法可以重定向页:
使用服务器端方法。在此方案中,服务器只是将上下文传输到另一页。其优点是您可以共享页之间的页上下文信息。其缺点是用户的浏览器不知道在进行传输,因此不更新浏览器的历史记录。如果用户刷新此页,则可能会产生意外的结果。
使用浏览器。在此方案中,将一个命令发送到用户浏览器,使浏览器获取另一页。其优点是更新浏览器的历史记录。其缺点是此方案执行额外的往返过程,这会影响性能。
使用服务器端方法将用户重定向到另一页
调用 asp“>Server.Transfer,向它传递要重定向到的页的名称。
以下示例显示如何重定向到另一页。 “ 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
// C#
private void Button1_Click(object sender, System.EventArgs e)
{
Server.Transfer(“Webform2.aspx“);
}
有关在服务器传输过程中,共享页上下文的详细信息,请参见asp“>在 Web 窗体页之间传递值。
将用户从浏览器重定向到另一页
将 Response 对象的 asp“>BufferOutput 属性设置为 true。
调用 Response 对象的asp“>重定向方法,并向其传递要重定向到的页的 URL。
以下示例显示如何根据局部变量 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“);
}