- PR -

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

投稿者投稿内容
すー
会議室デビュー日: 2006/07/13
投稿数: 11
投稿日時: 2006-07-13 19:25
お初です。

現在ASP.NET2.0でWebページを作成しております。
そこで元のページに戻れないようにページ履歴を残さない方法を探しております。
私も調べてみたのですが、なかなか良い方法が見当たらなかったため質問させていただきます。

・ツールバーは表示のままなので、戻るボタン自体は表示させておく条件です。
・window.location.replaceの方法は、HTMLのボタンだと動きますが、ASPのボタンだとエラーが出てしまいます。
→そもそもボタンクリック時のイベントはVBで記述しておりまして、現在はResponse.Redirectでページ遷移をしております。VBでもwindow.location.replaceのようなやり方があれば教えてください。





Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-07-13 20:35
search → server.transfer
すー
会議室デビュー日: 2006/07/13
投稿数: 11
投稿日時: 2006-07-14 10:14
引用:

Jittaさんの書き込み (2006-07-13 20:35) より:
search → server.transfer


server.transfer("URL")のようにやってみたのですがやはり履歴が残ってしまいます。
何かやり方が間違っているのでしょうか?
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-07-14 11:06
 横から割り込みすみません。

 履歴を残さない方法は無いのでは...。
 今まで別のサイトに行っていたのに、すーさんのサイトに行ったとたん履歴がすべて消えてしまう...ユーザフレンドリー?

 大抵の人は履歴を残さないのではなく、戻るボタンを消した別画面を立ち上げるとか、キャッシュから表示された場合でもポストバックを発生させるようにするとかで対処しているのでは?
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-07-14 11:26
引用:

すーさんの書き込み (2006-07-13 19:25) より:


・window.location.replaceの方法は、HTMLのボタンだと動きますが、ASPのボタンだとエラーが出てしまいます。


エラーってなんですか?
実際にプログラムで使ったことはないですが
コード:
<input type="button" onclick="javascript:window.location.replace('http://hoge.hoge/');" />


は出来るようですけれど

すー
会議室デビュー日: 2006/07/13
投稿数: 11
投稿日時: 2006-07-14 14:27
>ぜうすさん

それまでの履歴は残っていてかまいませんが、私が作ったページ間では履歴を残さないようにしたいと思っています。

>かるあさん

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="window.location.replace('http://yahoo.co.jp/');">としたところ
「'window' は 'ASP.Defalut_Defalut_aspx' のメンバではありません。」
というエラーが出ました。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-07-14 16:20
引用:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="window.location.replace('http://yahoo.co.jp/');">としたところ
「'window' は 'ASP.Defalut_Defalut_aspx' のメンバではありません。」
というエラーが出ました。

<asp:Button と <input>はイコールではありませんから。
<asp:Button だとサーバー側のOnClickイベントの意味になります。
クライアントでのOnClick属性を足したいなら Attributes.Add してあげて下さい。
それかサーバー処理が不要であればHtmlコントロールのInput(Button)を使えばよいでしょう。

引用:
server.transfer("URL")のようにやってみたのですがやはり履歴が残ってしまいます

transferする前の履歴は残りますよ。'URL'はブラウザの履歴にはないはずです。

location.replace って戻れないけど、履歴には残ってるんではないですか?
がんふぃーるど
ベテラン
会議室デビュー日: 2006/06/05
投稿数: 58
お住まい・勤務地: さいたま
投稿日時: 2006-07-14 16:47
window.location.replaceを使用すればページをブラウザの履歴に残さずページ遷移することができますが、window.location.replaceは基本的にGET要求のみにしか扱えません。フォームデータ等をPOSTする場合には使用できません。

何故履歴に残さないなど、もう少し目的を具体的に説明した方がよろしいのではないでしょうか?もしかしたら代替案が出てくるかもしれません。

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