web-dev-qa-db-ja.com

新しいページにリダイレクトするaspxページ

ブラウザをASPXページを持つ新しいページにリダイレクトするために必要なコードは何ですか?

私は自分のページdefault.aspxでこれを試しました:

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

または

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

そして、これらは未定のサーバーエラーをもたらしました。エラーコードが表示されません。サーバーが私の制御下になく、エラーが公開されていないためです。

ページの1行目から最後まで必要なすべてのコードを提供してください。本当に感謝しています。

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

また、これは meta tag を使用してhtmlで簡単に実行できます。

<html>
<head>
  <meta http-equiv="refresh" content="0;url=new.aspx" />
</head>
<body>
</body>
</html>
22
jrummell

ダリンの答えはすばらしい。 302リダイレクトを作成します。以下は、永続的な301リダイレクトを作成するように変更されたコードです。

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

VBを使用している場合、セミコロンを削除する必要があります。

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

または、javascriptを使用して別のページにリダイレクトできます。

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

このtoRedirect()関数を、クライアント(例:bodyタグのonloadイベント)またはサーバーから呼び出します:

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

サーバーを制御しなくても、プロジェクトのWeb.configファイルに次の行を追加すると、エラーメッセージを表示できます(<system.web>の下)。

<customErrors mode="off" />
2
SLaks

ASP.NET内の特別な場合ページが別のページではなく、指定された.aspxページによってリダイレクトされているかどうかを知りたい場合は、セッション名に情報を入れ、受信するPage_Loadイベントで必要なアクションを実行します。

0
marcob

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>
0
mad master