1

こんにちは、リダイレクト先のページにスクリプトを挿入しようとしています。

どうすればできますか?

いくつかのこと:

セッション、Cookie、またはクエリ文字列にフラグを設定して、他のページで確認できることを知っています。しかし、私は多くのページにリダイレクトしていて、コードを複製したくないので、これを避けたいです - 私がしなければならない場合を除いて...

関連するコードは次のとおりです。

 ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), Guid.NewGuid().ToString(), "doSomeThings();", true);
 Response.Redirect(newURL);
4

2 に答える 2

2

または、別のことを行って、JS または必要な関数をページ (リダイレクトするページ) に追加し、現在のページから何らかのフラグを渡すことができます。

次に、次のページでフラグを読み取り、条件を満たしている場合は関数を呼び出します。

@Oded が言ったように、次のページで何が起こるかを制御することはできません。

于 2012-06-02T20:25:34.653 に答える
1

リダイレクト ターゲットで何が起こるかを制御することはできません。ターゲットは、取得しているリクエストについてのみ知っており、それが誰から来たのか、何が原因なのかについては知りません。

スクリプトを配置するリダイレクトされた各ページで、スクリプトが必要であることを検出する何らかのメカニズムを使用する必要があります (URL のパラメーターを使用するかどうかに関係なく)。

避けたいコードを繰り返す代わりに、基本クラスを作成し、そこからページを継承します。このインジェクション動作は、基本クラスに配置して、すべての継承ページで共有できます。

于 2012-06-02T20:09:55.853 に答える