如何在 ASP.NET 使用 Visual C#.NET 中使用 Response.Redirect

这篇文章的 Microsoft Visual Basic.NET 版本,请参阅。

在此任务

概要

本文介绍如何在 ASP.NET 应用程序中使用HttpResponse类的重定向方法将用户重定向到另一个 URL。

要求

下面的列表列出了推荐使用的硬件、 软件、 网络基础结构和所需的服务包︰

  • Microsoft Windows 2000 或 Windows XP

  • Microsoft.NET Framework

  • Microsoft 的互联网信息服务器 (IIS)

创建 ASP.NET Web 应用程序使用 C#.NET

以下步骤演示如何创建新的 ASP.NET Web 应用程序项目名称重定向器。

  1. 打开 Microsoft Visual Studio.NET。

  2. 在文件菜单上,指向新建,然后单击项目。

  3. 在新建项目对话框中,在项目类型下单击Visual C# 项目。在模板下单击ASP.NET Web 应用程序。

  4. 在位置文本框中,键入重定向器。如果您使用的本地服务器,您可以为http://localhost使服务器名称,这样的位置文本框设置为http://localhost/Redirector。

HttpResponse.Redirect 方法的说明

HttpResponse类实现重定向方法的两个重载的版本。

  • 第一个重载方法接受一个输入的参数,它是目标位置的 URL。此版本的定义如下︰

    public void Redirect(string url); 
  • 第二个重载方法接受两个输入的参数︰ 目标位置和一个布尔值,该值指示是否停止运行当前页的 URL。此版本的定义如下︰

    public void Redirect(string url, bool endResponse);

使用第一个重载的版本时,第二个重载的版本将在内部调用并传递第二个输入参数的布尔值为True 。HttpResponse类和其相关的方法有关的详细信息,请参阅参考部分。

创建运行示例

此示例演示如何在代码隐藏页的Page_Load事件实现重定向方法。此代码实现上一节中列出的第一个重载的版本。

  1. 请按照以下步骤添加新的 Web 窗体名为 Redirector_Test.aspx:

    1. 在解决方案资源管理器中右键单击项目节点,指向添加,然后单击添加 Web 窗体。

    2. 命名为 Redirector_Test.aspx,将.aspx 页,然后单击打开。

  2. 在编辑器中,右键单击.aspx 页,,然后单击查看代码。这将在编辑器中打开代码隐藏页。

  3. 将以下代码添加到Page_Load事件︰

    Response.Redirect("http://www.microsoft.com");
  4. 在文件菜单上,单击全部保存来保存 Web 窗体和其他相关的项目文件。

  5. 在 Visual Studio.NET 集成开发环境 (IDE),在生成菜单中,单击生成以生成该项目。

  6. 在解决方案资源管理器中右击该页,,然后单击在浏览器中运行页。请注意,页面在浏览器中并自动将您重定向到 Microsoft Web 站点。

故障排除

  • 如果您尝试重定向邮件头发送到浏览器后,您会收到 HttpException 异常。要解决此问题,请使用HttpResponse.BufferOutput属性来缓冲输出在适当的时候。默认情况下,此属性设置为True 。

    有关HttpResponse.BufferOutput属性的详细信息,请参阅参考部分。

  • 当您使用此方法时,您可能会收到一个它的例外。的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

    PRB︰ 它会发生如果您使用 Response.End,Response.Redirect 或 Server.Transfer

参考资料

有关详细信息,请参阅 Microsoft.NET Framework 软件开发工具包 (SDK) 文档中的以下主题︰





是一个很好的文章,标题和其他 ASP.NET 与相关信息来源。

.NET Framework 和 Visual Studio.NET 的教程,请到以下网站︰

ASP.NET 的介绍,请访问下面的 Microsoft 网站︰

ASP.NET 教程

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×