0

マスターページと複数の通常のページがあるasp.netWebサイトがあります。マスターページには、ユーザーが通常のページを選択できるメニューバーがあります。通常のページの1つのPage_Loadイベントにコードがあります。問題は、このイベントが1回だけトリガーされるように見えることです。つまり、ユーザーが最初にページに移動したときです。ユーザーが別のページに移動してから再び戻った場合、イベントは発生しません。誰かが私が間違っていることを教えてもらえますか?

4

2 に答える 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 に答える