aspx页面重定向到新页面

时间:2009-07-07 15:40:05

标签: c# asp.net redirect

将浏览器重定向到带有ASPX页面的新页面需要什么代码?

我在我的网页default.aspx上试过这个:

<% Response.Redirect("new.aspx", true); %>

<%@ Response.Redirect("new.aspx", true); %>

这导致服务器错误未确定。我看不到错误代码;因为服务器不在我的控制范围内而且错误不公开。

请提供从页面第1行到结尾的所有必要代码,我真的很感激。

8 个答案:

答案 0 :(得分:140)

<%@ Page Language="C#" %>
<script runat="server">
  protected override void OnLoad(EventArgs e)
  {
      Response.Redirect("new.aspx");
  }
</script>

答案 1 :(得分:21)

您也可以使用meta tag

在html中执行此操作
<html>
<head>
  <meta http-equiv="refresh" content="0;url=new.aspx" />
</head>
<body>
</body>
</html>

答案 2 :(得分:15)

达林的回答很有效。它创建302重定向。这是修改后的代码,以便创建永久301重定向:

<%@ Page Language="C#" %>
<script runat="server">
  protected override void OnLoad(EventArgs e)
  {
      Response.RedirectPermanent("new.aspx");
      base.OnLoad(e);
  }
</script>

答案 3 :(得分:11)

如果您使用的是VB,则需要删除分号:

<% Response.Redirect("new.aspx", true) %>

答案 4 :(得分:3)

或者您可以使用javascript重定向到另一个页面:

<script type="text/javascript">
    function toRedirect() {
        window.location.href="new.aspx";
    }
</script>

从客户端调用此toRedirect()函数(例如,身体标记的onload事件)或使用以下命令从服务器调用:

ClientScript.RegisterStartupScript(this.gettype(),"Redirect","toRedirect()",true);

答案 5 :(得分:2)

即使您不控制服务器,您仍然可以通过将以下行添加到项目中的Web.config文件(bewlow <system.web>)来查看错误消息:

<customErrors mode="off" />

答案 6 :(得分:0)

重定向aspx:

<iframe>

    <script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Status = "301 Moved Permanently";
    Response.AddHeader("Location","http://www.avsapansiyonlar.com/altinkum-tatil-konaklari.aspx");
    }
    </script>

</iframe>

答案 7 :(得分:0)

在ASP.NET中的特殊情况下,如果您想知道该页面是否由指定的.aspx页面而不是另一个页面重定向,只需将信息放入会话名称中,并在接收的Page_Load事件中采取必要的操作。