2012-04-16 6 views
0

私はMVC2とVS2010を使用しています。 Webアプリケーションを作成しましたが、ページを残した後でブラウザを再訪問することをすべて停止します。 公開コンピュータを使用している人が安全に感じられるように、この作業を行いたいと考えています。次のユーザーが最初の使用ページを表示するために戻るボタンを使用できるだけのシナリオは必要ありません。 [OutputCache(NoStore = true、Duration = 0、VaryByParam = "*")] これはうまくいくと思われ、Webページの期限が切れます。しかし、ブラウザの「戻る」ボタンをもう一度押すと、そのページが表示されます。私が残したページを示すブラウザの戻るボタンを止める方法

+0

ajaxを使用してページを読み込みます。 –

+0

最後に変更した日付を設定しようとしましたか?これがすでにmvc2によって行われているかどうかは不明です – Chris

答えて

1

私はブラウザのバック状況を防ぎたいと思っていて、いくつかの異なる解決法を研究しています。最初と最悪ののは、ブラウザの戻るボタンをクリックすると、ユーザが元のページに戻るJavaスクリプト機能です。それは問題を解決するのではなく、隠しているが、IDがそれに言及したと思った。コードは次のようになります:

<script type="text/javascript" language="javascript"> 
     function disableBackButton() { 
      window.history.forward() 
     } 
     disableBackButton(); 
     window.onload = disableBackButton(); 
     window.onpageshow = function (evt) { if (evt.persisted) disableBackButton() } 
     window.onunload = function() { void (0) }; 
    </script> 

これは、Firefox、Chrome、IEでは正常です。これをあなたのマスターページに入れることができます。 Disable browser cache for entire ASP.NET website たものをキャッシュしません。 多くの人々は、だから私の第二の提案は、私はここで見てきたものだなどなど、それはよく知られているブラウザの動作に侵入ただし、これは物事を行うための方法ではありません

を教えますあなたが望んでいるものともっとインラインであると思います。

もう1つのアイデアは、ページまたはセッショントークンを前後に渡して、アクションがトークンをチェックすることです。トークンをチェックすると、無効なページがエラーページに再ルーティングされます。それは少なくとも、新しいユーザーが前のページで何かをやってしまうのを防ぎます。

あなたが解決した場合、あなたがこれをどのように解決したか知っていることに興味があります。

関連する問題