2013-02-28 35 views
0

在我的MVC網絡應用程序中,我有一個功能,我需要存儲幾種不同類型的動作和一個關鍵值對。Javascript或jquery商店收藏品

例如: 有一個鏈接:

<a class="downloadIcon" ajax-data-type="download" ajax-machineId="23" ajax-packageId="2343M324HDFHD">Download</a> 

當有人點擊上面的鏈接,下載將開始和下載鏈接將被隱藏或刪除。下載完成後,將會爲「安裝」選項創建一個新鏈接來代替下載圖標。像這樣:

<a class="installIcon" ajax-data-type="install" ajax-machineId="23" ajax-packageId="2343M324HDFHD">Install</a> 

所以我一定要記住以下事項:

ajax-data-type => Download, Install, Uninstlall, Enable, Disable 
ajax-data-machineId => int 
ajax-data-packageId => int 

此功能將確保(例如)時,下載「下載」,但不這樣做,並且用戶刷新他/她的瀏覽器,下載鏈接不會再次顯示(因爲下載已經啓動)。然而,一旦安裝(功能已完成,我得到服務器的響應),然後卸載,我將不得不再次顯示「下載」鏈接等。

我會用這個cookie嗎?任何想法,幫助將不勝感激。

謝謝

回答

0

您可以使用localStorage進行此類操作。

http://www.w3schools.com/html/html5_webstorage.asp

從本質上講,你可以添加變量本地存儲,它會保存以供將來訪問。

因此,舉例來說:

在下載:localStorage.state = 'downloading'

上完成:

if(localStorage.state) 
    $(".downloadIcon").hide() 
if(localStorage.state == 'done') 
    $(".installIcon").show() 
:在頁面加載 localStorage.state = 'done'

0

如果更改HTML像下面

<a class="installIcon" data-ajax-type="install" data-ajax-machineId="23" data-ajax-packageId="2343M324HDFHD">Install</a> 

您可以使用像$("a.installIcon").data("ajax-type")東西,得到你想要的數據。 您也可以更改每個數據的值,如$("a.installIcon").data("ajax-type","Disable")