2012-02-13 7 views
-1

私はIDを表示するハイパーリンクボタンがあるグリッドビューを持っています。サーバーへのAjax呼び出し、特定のURLを取得してIDをナビゲートします。 Ajaxコールが完了したら、次の コードを呼び出して、新しいタブ/ウィンドウでそれぞれのページを開きます。

ここ
function RedirectPageUrl(rqstID) {   
$("#formMain").attr("action", rqstID); 
$("#formMain").attr("method", "post"); 
$("#formMain").attr('target', '_blank'); 
$("#formMain").submit(); 
return false; 
} 

私の問題は、ボタン物事が完璧に動作している第一のハイパーリンクをクリックした後であるが、その後以降、私はすべてのコントロールをクリックしたときに、以前開いたフォームが開きます(ボタンと言います)。 どのようにそれを任意のアイデアを取り除くには??

答えて

1

actionと私の推測するあなたのページのメインフォームの他の属性が同じ#formMain'. So next time whenever you try to click on any button which postbacks to the server it submits the form to the action set by previous RedirectPageUrl`メソッド呼び出しであるためです。

これは、基本的に別のページにリダイレクトするための別のフォームを使用して試すことができます。この方法でメインのformは変更されず、ページの他の機能には影響しません。

+0

ここで#formMainはマスターページにあるので、リダイレクトするために新しいフォームを追加することで、リダイレクト後にアクション属性を元に戻すことはできません。 – Indrajit

+0

body要素の最後に新しいフォームを追加しても、ページには影響しません。それを試してみてください。 – ShankarSangoli

+0

だから私はあなたが正しく私は私のマスターページのHTMLの権利を変更する必要はありませんか? #redirectFormは実行時に作成されます??? – Indrajit

関連する問題