- PR -

処理をクライアントに返さずにデータをPOSTする方法

1
投稿者投稿内容
こんどる
常連さん
会議室デビュー日: 2004/05/10
投稿数: 30
投稿日時: 2004-06-29 17:19
こんにちは、ページ遷移時のResponseデータに関する質問です。

行おうとしている動作は以下のようなものです。

xt_process.aspx なるASPXページがあったとしまして
このページからデータをPOSTしたいのです(QueryStringではなくRequest.Formでとれるように)。

このとき、クライアントから
onload="JavaScript:document.form1.submit();"
などでPOSTしてしまうと、ブラウザの戻るボタンなどで戻ったときに
このxt_process.aspxに戻ってしまいます。
これをxt_process.aspxに戻らないようにしたいため、
xt_process.aspxのサーバ処理でsubmitしたいのです。

Response.RedirectではQueryStringしか投げられないようですし
どなたか解決方法を知ってらっしゃいましたらご教授お願いします。

わかりにくい説明になってしまい申し訳ないです。
よろしくお願いします。

Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2004-06-29 17:27
Webアプリの本質上、ご希望のような処理は不可能です。

投稿のような提起内容は初めてですが、
ブラウザの「戻る」ボタンに泣かされている人はたくさんいますよ。
「ブラウザの『戻る』ボタンを禁止する方法」で検索をかければいくつも見つかります。
この会議室でも、いくつもスレッドがたったはずです。
代表的なのは、JavaScriptを使う方法でしょうか。
ただし、この方法でも、ショートカットを遮断することはできません・・・。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-06-29 17:42
 ロードされてすぐにポストするデータって、いったい???
こんどる
常連さん
会議室デビュー日: 2004/05/10
投稿数: 30
投稿日時: 2004-06-29 17:53
さっそくのご回答ありがとうございます。

> ロードされてすぐにポストするデータって、いったい???

例えば、
PageA → PageB と画面遷移するとします。
ここでPageBの先頭で先ほどの xt_process.aspx に飛び、
xt_process.aspxでの処理が終了したら再びPageBに戻ってきたいのです。
このときPageAからPageBに渡されたデータをそのまま(POSTはPOST、GETはGET)
再度PageBに送信したいのです。

PageA→PageBに渡されるデータをxt_process.aspxに渡すのはSessionを用いて
実現したのですが、そのあとで上記のような理由で行き詰まってしまいました。

やっぱりこのような方法はできないのでしょうか。。。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-06-29 18:01
引用:

こんどるさんの書き込み (2004-06-29 17:53) より:

例えば、
PageA → PageB と画面遷移するとします。
ここでPageBの先頭で先ほどの xt_process.aspx に飛び、
xt_process.aspxでの処理が終了したら再びPageBに戻ってきたいのです。


???

 xt_process.aspxは、ユーザに見せたいページがあるのではなく、処理を行うだけ?

あ!時間がかかる処理を行う為に、PageB.aspxでいったん画面を見せて、xt_process.aspxで処理を行う、ってこと?

 PageB.aspxで画面を見せないなら、Server.Transferが使えるけど。。。
こんどる
常連さん
会議室デビュー日: 2004/05/10
投稿数: 30
投稿日時: 2004-06-29 18:09
説明不足だったようで申し訳ありません。

PageBはユーザに見せるページです。
ですが、その先頭であるチェックに引っかかったら、xt_process.aspxに飛ばすのです。
例えば、ログインしていなければxt_process.pspxでログイン処理を行い、
ログイン後、再度PageBに戻ってくるようなイメージです。

このとき、PageBの先頭では再度チェックを行いますが、先ほどログイン処理を
行っていますので、今度はチェックを抜け通常のページが表示されるという感じです。
1

スキルアップ/キャリアアップ(JOB@IT)