2013-05-16 31 views
0

我有一個MVC4應用程序。已投放頁面有多個具有典型「添加到收藏夾」的項目鏈接。喜歡的東西 - >MVC4 Ajax請求和瀏覽器狀態丟失

[page 1] ...[item1][Add to favorites] ...[item2][Add to favorites]

「添加到收藏夾」是阿賈克斯ActionLink的它連接到後端。後端基本上維護Httpcontext.Session中的最常用項目列表。 JSON響應「真/假」被髮送回客戶端。如果「真」,則客戶端代碼將「添加到收藏夾」鏈接更改爲「已收藏」。喜歡的東西:

[page 1] ...[item1][Favorited] ...[item2][Add to favorites]

現在,如果我訪問的另一頁,說第x頁,之後回來[1],我看到

[page 1] ...[item1][Add to favorites] ...[item2][Add to favorites]

,而不是

[page 1] ...[item1][Favorited] ...[item2][Add to favorites]

我想知道是否有辦法顯示真實狀態。謝謝。

+0

所以,當你加載下面的頁面,你看了會議,看看裏面有什麼?它是空的嗎?它們是否存儲在您認爲存儲在其中的密鑰中? –

+0

它不是空的。它有收藏的項目。 – user1664185

+0

您是否在服務器端存儲所有「添加最愛」動作? – Ryba

回答

0

當您重新加載頁面時,您需要獲取收藏項列表並根據該數據呈現鏈接。

有幾種不同的方法可以做到這一點。由於您使用的是mvc,因此將最常用的項列表作爲視圖模型的一部分加載並相應地呈現視圖可能是最容易的。

+0

在重新加載期間,瀏覽器恰好爲緩存的內容提供服務;因此沒有後端請求。奇怪的是,它不會緩存收藏項目的版本。 – user1664185