当前位置导航:炫浪网>>网络学院>>网页制作>>ASP.NET教程

强制浏览器重定向到另一页

  重点总结

  在ASP.NET中要想实现网页的重定向,可以通过以下4种方式来实现:

  1、通过超链接重定向。

  2、使用跨页面发送技术重定向网页。

  3、通过浏览器编程重定向网页。

  4、通过服务器重定向网页。

  本示例所演示的是如何通过浏览器进行重定向。

  其实,使用浏览器来进行重定向,也分为两种情况:

  一种情况是编写客户端脚本来进行重定向,本示例不包含这方面演示。

  另外情况就是由服务器强制浏览器进行重定向,也就是调用Response.Redirect()方法。这是本示例代码的演示重点。

  需要说明的是,再调用Redirect()方法之前,最好将Response.BufferOutput设置为true,也就是启用内容缓冲。

  示例代码

  在网页上提供了一个下拉列表,其中列出用户可能使用的一些语言。用户可以选择这个列表中的任意一种语言,然后单击【更改语言】按钮,这样就把网页回发给服务器了。

  然后,服务器根据用户选择语言,重定向到合适的网页。具体信息参看代码:

  网页界面设计:

  01 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Redirect.aspx.cs" Inherits="Redirect" %>

  02

  03 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  04 <html xmlns="http://www.w3.org/1999/xhtml">

  05 <head runat="server">

  06     <title>使用浏览器将用户重定向到另一页。Response.Redirect()</title>

  07 </head>

  08 <body>

  09     <form id="form1" runat="server">

  10     <div>

  11         请选择你所使用的语言:

  12         <br />

  13         <asp:DropDownList ID="LanguagesList" runat="server">

  14             <asp:ListItem Selected="True">China</asp:ListItem>

  15             <asp:ListItem>Deutsch</asp:ListItem>

  16             <asp:ListItem>English</asp:ListItem>

  17             <asp:ListItem>Espa?ol</asp:ListItem>

  18         </asp:DropDownList>

  19         <asp:Button ID="ChangeLanguageButton" runat="server" Text="更改语言"

  20             onclick="ChangeLanguageButton_Click" />

  21     </div>

  22     </form>

  23 </body>

  24 </html>

  用来重定向的代码如下,也就是【更改语言】按钮的单击事件处理程序代码:

  01 protected void ChangeLanguageButton_Click(object sender, EventArgs e)

  02 {

  03     this.Response.BufferOutput = false;

  04     switch (this.LanguagesList.SelectedValue)

  05     {

  06         case "China":

  07             this.Response.Redirect("China.htm");

  08             break;

  09         case "Espa?ol":

  10             this.Response.Redirect("Espa?ol.htm");

  11             break;

  12         case "Deutsch":

  13             this.Response.Redirect("Deutsch.htm");

  14             break;

  15         default:

  16             this.Response.Redirect("English.htm");

  17             break;

  18     }

  19 }

相关内容
赞助商链接