2012-01-05 8 views
1

私は奇妙な状況があります。私は新しいウィンドウで開くために_blankに設定されたtarget属性を持つハイパーリンクが(ユーザーコントロールとして)動的に生成されるWebサイトを持っています。新しいページが表示されている性質上、ユーザーがクリックすると監査する必要があります。私はすでに監査機能を設定しているので、リンクが新しいページを開く前にコードを実行する方法を探しています。通常のハイパーリンクでコードを実行する必要があります

同じサイトの内部ページにある場合は、単に監査コードを実行し、その後Response.Redirect()を実行するコマンドボタンとしてハイパーリンクを持つことができます。

ターゲットページが異なるウェブサイト上にあるため、ターゲットページを制御できません。私は彼女が他の人たちがこれをやった方法、そして私が説明した方法でそれをすることが可能かどうかについて興味を持っています!

答えて

2

リンクを、監査を行い、リダイレクトするサイトのハンドラに変更します。だからあなたのリンクは

<a href="/MyAuditingHandler.ashx?targetUrl=http://www.externalsite.com" target="_blank"></a> 

あなたのハンドラの監査のようになり、targetUrlパラメータを読み取り、リダイレクトします。

+0

もちろん、私はハンドラー自体をポップアップとして持つことができなかったのです。 – Arj

1

まだResponse.Redirect()のテクニックを実行できますか、ここで何か不足していますか?実際のハイパーリンクを監査ページのパラメータとして渡してください...

1

新しいウィンドウ(タブ)にリンクを開く場合は、 JavaScript Window.Openをお勧めします。その前にAJAXがAudit 。これは速く、より良いUXでなければなりません。

+0

Response.Redirectは、サーバー負荷だけでなくUXのひどい間です。 –

関連する問題