マスターページと複数の通常のページがあるasp.netWebサイトがあります。マスターページには、ユーザーが通常のページを選択できるメニューバーがあります。通常のページの1つのPage_Loadイベントにコードがあります。問題は、このイベントが1回だけトリガーされるように見えることです。つまり、ユーザーが最初にページに移動したときです。ユーザーが別のページに移動してから再び戻った場合、イベントは発生しません。誰かが私が間違っていることを教えてもらえますか?
1831 次
2 に答える
1
Back
ページが正常で、特定の設定が適用されていない場合、ブラウザブラウザのユーザーユーザーボタンがキャッシュされたバージョンのページを使用する場合。これらのコードにより、ユーザーがBack
ボタンを使用した場合、何も表示されません。
Response.Cache.SetExpires(DateTime.Now.AddDays(-1)) ;
Response.Cache.SetValidUntilExpires(false) ;
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches) ;
Response.Cache.SetCacheability(HttpCacheability.NoCache) ;
Response.Cache.SetNoStore();
または、prventユーザーが戻るには、次のコードを使用します。
<body onLoad="if(history.length>0)history.go(+1)">
于 2012-04-15T19:54:40.223 に答える
0
ブラウザがページをキャッシュしていることが原因のようです。正しい方向に向けていただきありがとうございます。
戻るボタンを使用した場合だけでなく、問題が発生するので、これを回避しても問題は解決しないのではないかと思います。
私の解決策は、メニューに使用した単純なhtmlハイパーリンクをサーバー側のasp.netボタンコントロールに置き換えることでした。コードビハインドがresponse.redirectを実行すると、ターゲットページのpage_loadイベントが毎回実行されるようです。
于 2012-04-16T20:57:12.103 に答える