Html.RenderAction<CartController>(c => c.Show());
マスター ページで使用して、すべてのページのカートを表示しています。問題は、アイテムをカートに追加してからブラウザの戻るボタンを押したときです。更新ボタンを押すか、別のページに移動するまで、(キャッシュからの) 古いカートが表示されます。
私はこれを試してみましたが、完全に機能しますが、ページ全体とサイト内のすべてのページに対してグローバルにキャッシュを無効にします (このアクションメソッドはマスターページで使用されるため)。パフォーマンス上の理由から、他のいくつかの部分ビュー (アクション メソッド) のキャッシュを有効にする必要があります。
ページの読み込み時にカート (およびログイン ビュー) を更新するために AJAX でクライアント側スクリプトを使用したくありませんが、それが今考えられる唯一の解決策です。
誰かがよく知っていますか?