重点总结
在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" %> |
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"> |
06 | <title>使用浏览器将用户重定向到另一页。Response.Redirect()</title> |
09 | <form id="form1" runat="server"> |
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> |
19 | <asp:Button ID="ChangeLanguageButton" runat="server" Text="更改语言" |
20 | onclick="ChangeLanguageButton_Click" /> |
用来重定向的代码如下,也就是【更改语言】按钮的单击事件处理程序代码:
01 | protected void ChangeLanguageButton_Click(object sender, EventArgs e) |
03 | this.Response.BufferOutput = false |
04 | switch (this.LanguagesList.SelectedValue) |
07 | this.Response.Redirect("China.htm"); |
10 | this.Response.Redirect("Espa?ol.htm"); |
13 | this.Response.Redirect("Deutsch.htm"); |
16 | this.Response.Redirect("English.htm"); |