您可能希望将用户从一个 ASP.NET 网页重定向到另一个网页。例如,可能会在多页窗体中执行此操作。重定向页的方法很多,比如以下方法:
- 通过动态使用浏览器。在此方案中,向用户的浏览器发送命令,使浏览器检索其他页。采用这种方法,能以编程方式重定向到另一页。但是,这种重定向会导致新的请求 (HTTP GET),并且从源页发送的所有数据都将丢失。
- 通过将页配置为发送到另一页。在此方案中,用户单击已配置的按钮可以发送到其他页。此方案多用于多页窗体。但需要用户交互。
通过动态使用服务器端方法,服务器只向另一页传递上下文即可。其优点是您可以共享页之间的页上下文信息。其缺点是用户的浏览器不知道在进行传输,因此不更新浏览器的历史记录。如果用户刷新此页,则可能会产生意外的结果。有关在服务器传输期间共享页上下文的详细信息,请参见如何:在 ASP.NET 网页之间传递值。
使用浏览器将用户重定向到另一页
1. 将 Response 对象的 BufferOutput 属性设置为 true。
2. 调用 Response 对象的 Redirect 方法,以向其传递用户重定向目标页的 URL。
下面的代码示例演示如何根据局部变量 UserLanguage(在其他地方设置)的内容来进行页重定向。
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);
}