- - PR -
条件によって「戻る」ボタンの遷移先を変える方法
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-13 00:42
ちょっとわかりにくいんですけど、件名の通りです。
@画面A⇒画面B⇒画面C と遷移する場合と A画面A⇒画面C と遷移する場合があって、 「戻る」(btnReturn)を押すと どちらも画面Aに遷移させたいと思っています。 しかし、クエリ文字列を使用しているため、URLの指定ができません。 どのようにしたら、可能になりますか? ご教授いただけるとありがたいです。 自分的には @の場合には 二つ前の画面へJavaScript:history.go(-2)をつかって、 Aの場合には 一つ前の画面へJavaScript:history.go(-1)をつかって遷移 と考えたのですが・・・・コードがわかりませんorz btnReturnのクリックイベントで @の場合 response.redirect("JavaScript:history.go(-2)") Aの場合 response.redirect("JavaScript:history.go(-1)") とかけたらいいのになぁ。。。(言いたいことをわかってほしいです(笑) 環境はASP.NET(VB) WindowsXP pro + SQLServer2003です。 ヨロシクお願いします。 | ||||||||||||
|
投稿日時: 2006-04-13 00:49
「戻る」(btnReturn)押下時にポストバックして、btnReturn_Clickイベントで画面Aに遷移する処理を書いたらどうでしょうか?
どうしても、javascriptでもどらないといけない理由でもあるのでしょうか? | ||||||||||||
|
投稿日時: 2006-04-13 00:57
の意味が分からないので何ともいえないですが、画面C のページロード時にそういう javascript を書けばいいのではないでしょうか。 _________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2006-04-13 09:43
btnReturn は System.Web.UI.WebControls.Button ですか?
画面Aを表示したときのパラメータが失われているので クエリを再現できないのかな?
RegisterStartupScript で書き出せば出来ないことは無いけれど やらないほうが良いでしょうね・・・ | ||||||||||||
|
投稿日時: 2006-04-13 10:11
状況をよく把握してなく、とんでもない勘違いしているかもしれませんが
1.画面Cに遷移する前に各画面で戻り先とその画面(画面Aや画面B)で取得した クエリ文字列をセッションに入れる。 2.画面Cの btnReturn_Clickイベントで、そのセッションの内容をみて Response.Redirect('セッションから取得した戻り先?セッションから取得したクエリ文字列') っていうのはどうでしょうか? # 「クエリ文字列を使用しているため」というのが かるあさん が指摘されている # ように 画面Aを表示したときのパラメータが失われているのでクエリを再現できない # からと解釈してみました。 # 的外れでしたらスルーしてください m(_ _)m | ||||||||||||
|
投稿日時: 2006-04-13 12:06
画面遷移を全てJavaScriptで記述して良いなら、
画面A location.href="XXX"; を使用 画面B location.replace("XXX");を使用 画面C history.back();を使用 | ||||||||||||
|
投稿日時: 2006-04-13 14:34
これなら実現できそうですけど、画面Cでポストバックが動作した場合、 history.back();で前画面(画面A,画面B)に戻れましたっけ? ポストバック前の画面Cに戻ったりしたような・・・ [ メッセージ編集済み 編集者: Katze 編集日時 2006-04-13 14:35 ] | ||||||||||||
|
投稿日時: 2006-04-13 21:51
セッション変数に ReturningPoint を用意する。
画面Aが、GET メソッドで呼ばれたときに、ReturningPoint にリクエストをセットする。 # 画面Bには戻らないんでしょ?だったら、ここではセットする必要ないよね。 任意画面の「戻る」ボタン(ブラウザのそれかと思ったよ)で、ReturningPoint にリダイレクトさせる。 〆 written by Jitta@わんくま同盟 on 2006/04/13 □ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006 |
1