質問: '_blank';"を設定し、postbackurl="aaa.aspx" で別ウインドウにPOSTBACKするようにしています。 さらに、onclik属性にサーバー側のクリックイベントに飛ぶようにしているのですが、 onclick="testfunc" onclientclickで別ウインドウにPOSTBACKはできるのですが、 onclickのサーバー処理に入らないのです。 理想としては、サーバー処理(C#)を実行後、別ウインドウに遷移するようにしたいです。 WEBアプリは不慣れですがよろしくお願いいたします。
回答: > > おっしゃる通りの「ボタンクリックで普通にポストバック ⇒ サーバー側のボタンクリックイベントのハンドラで SQL Server に登録 ⇒ 別サイトへリダイレクト」でいけそうな気もしますが。クエリ文字で渡すのは要件と違いますのでNGです。 > > > クエリ文字列が NG であれば、質問のコメントにも書きましたが、一番最後の「 ⇒ 別サイトへリダイレクト」というところで、自サイトのページにリダイレクトして、その応答が戻ってきたら、そのページに仕込んだクライアントスクリプトでクロスページポストバック相当のことをする方向で検討してはいかがですか? 別ページにリダイレクトしなくても、ポストバックでそのまま同じページが再描画されたときに、目的の別サイトに POST するクライアントスクリプトを仕込んで window.onload でそれを起動してもいいかもしれません。 動くかどうかわかりませんが、そのクライアントスクリプトは PostBackUrl を設定したボタンをクリックするだけでも良いかもしれません。 クロスページポストバックは、クライアント側は基本的にクライアントスクリプトで form 要素の action 属性が PostBackUrl プロパティに設定された url に書き換えられ、その後 form が submit されるという仕組みになっています。 クロスページポストバックはサーバー側の仕組みがいろいろあって、それがないと ASP.NET システム全体としての動作に支障が出るはずですが、他のサイトに POST するだけなら目的は果たせるかもしれません。ダメかもしれませんが。自分で検証してみてください。