0

新しいページにリダイレクトしたいのですが、ユーザーがメッセージを読めるように、メッセージを表示して待機時間を短くしたいと思います。

私はこれができることを知っています:

<script runat="server">
 protected override void OnLoad(EventArgs e)
  {
  Response.Redirect("new.aspx");
  base.OnLoad(e);
  }
 </script>

しかし、どうすればメッセージを表示して待つことができますか?

ありがとう。

4

4 に答える 4

2

サーバー側のコードを使用する代わりに、html でmeta refreshを使用して実行できます。

<html>
 <head>
  <title> Redirect </title>
  <meta http-equiv="refresh" content="60;URL='http://foo/new.aspx'"/>
 </head>

 <body>
    <p>You will be redirected in 60 seconds</p>
 </body>
</html>

contentタグの属性の60 をmeta、ユーザーに待機させたい秒数に変更できます。

于 2012-10-02T14:22:40.590 に答える
0

たとえば、クライアント側のテクノロジー、メタタグを使用できます

<HTML>
<HEAD>
<!-- Send users to the new location. -->
<TITLE>redirect</TITLE>
<META HTTP-EQUIV="refresh" 
CONTENT="10;URL=http://<URL>">
</HEAD>
<BODY>
[Your message here]
</BODY>
</HTML>
于 2012-10-02T14:24:10.290 に答える
0

メタ リフレッシュ タグを使用してみましたか?

ドキュメントは次の場所にあります: http://en.wikipedia.org/wiki/Meta_refresh

基本的には、HTML のセクションにメタ リフレッシュ タグを配置<head/>し、URL と共に待機時間を指定します。

例えば

<meta http-equiv="refresh" content="15;URL='http://www.something.com/page2.html'">

上記の例では、ページは 15 秒間待機してから にリダイレクトされhttp://www.something.com/page2.htmlます。

したがって、メッセージを含むページを作成し、そのヘッダーにメタ リフレッシュを配置することができます。設定した時間が経過すると、new.aspx に「更新」されます。

例えば

<html>
  <head>
    <title>Redirecting</title>
    <meta http-equiv="refresh" content="15;URL='new.aspx'">
  </head>
  <body>
    <p>Thanks for visiting our site, you're about to be redirect to our next page.  In the meantime, here's an interesting fact....</p>
  </body>
</html>
于 2012-10-02T14:25:10.510 に答える
0

メッセージと待機時間をクエリ文字列で渡すことができます

Response.Redirect("new.aspx?Message=Your_Message&Time=3000")

new.aspx の Page_Load で、パラメーターをキャッチできます

string msg = Request["Message"]
string time = Request["Time"]

ユーザーがメッセージを表示するまで x 秒待つ必要がありますか? はいの場合は、javascript で行う必要があります。

まず、メッセージを表示する JavaScript 関数を作成します。

function ShowMessage(msg) {
        alert(msg);
    }

次に、new.aspx のコード ビハインドで、パラメーターを取得し、javascript 関数を呼び出します。

protected void Page_Load(object sender, EventArgs e)
    {
        string msg = Request["Message"].ToString();
        string tempo = Request["Time"].ToString();
        string script = String.Format(@"setTimeout(""ShowMessage('{0}')"", {1})", msg, tempo);
        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "key", script, true);
    }

3秒後にメッセージが表示されます。

于 2012-10-02T14:25:10.527 に答える