- PR -

[ASP.NET2.0]戻るボタンを押せないようにページ履歴を残さない方法

投稿者投稿内容
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-07-14 17:12
こんにちは。

すーさんがやりたいことはつかんではいたのだけれど、ASP.NETじゃ難しいよなあ…なん
で難しいんだっけ…と考えていて放置プレイになってましたが、がんふぃーるどさんが書い
ておられる「GET要求のみにしか扱えません」で終了でした。
なんかもっといろいろ考えてしまっていた気がします。気を回しすぎですね。


と、それだけではあんまりなので。
以前少し考えたのは、全ての POST 先を同じ URL にしておいて(たとえば
index.aspx とか)内部では Server.Transfer によって遷移して、ユーザからは同じに
見えるんだけど中身が違う、というのはどうかと妄想したことがあります。

コード:

クライアント     サーバー
 リクエスト  →  index.aspx →(Server.Transfer)→処理A(ログインとか)
 ログイン    →  index.aspx →(Server.Transfer)→処理B(ログイン後)

遷移中は識別子を一緒に POST してあげて、
それで index.aspx がどこへ Transfer するかを決める
識別子がなければ初回アクセスだね!とか。


履歴を残さないという考え方とは違いますが、Server.Transfer するとクライアントのブ
ラウザに表示されている URL とサーバが処理しているページに差異が出てきてしまい、
どうにかならんかなぁというときに考えたものですが。
(でも結局実装はしなかった)
うまく伝わらないですね。って脱線気味の話題に熱くなるのもナンなのでこれで。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-07-14 22:46
SmartNavigation の方法を応用する、かなぁ?
Ajax という手もあるぞ。


とりあえず、すべてのページを SmartNavigation = True にして、ページ遷移をすべてサーバ側の HttpServerUtility.Transfer で行えば(アンカー要素使用禁止)、最初に入ってきたページ以降は履歴に残らないと思うけど?

あれ?2.0 って、SmartNavigation あるんだっけ?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-07-15 00:39
引用:
Jittaさんの書き込み (2006-07-14 22:46) より:
あれ?2.0 って、SmartNavigation あるんだっけ?

http://msdn2.microsoft.com/ja-JP/library/system.web.ui.page.smartnavigation.aspx
推奨されていないけど互換性の為に残されているようですね。
すー
会議室デビュー日: 2006/07/13
投稿数: 11
投稿日時: 2006-07-18 09:48
皆様ご返答ありがとうございます。
がんふぃーるどさんが言う通り、もう一度仕様を見直してみました。
当初の目的と変わってきたので、別スレッドを立てたいと思います。
色々ありがとうございました。

[ メッセージ編集済み 編集者: すー 編集日時 2006-07-18 13:24 ]

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