在我的MVC网络应用程序中,我有一个功能,我需要存储几种不同类型的操作和一个键值对。
例如: 有一个链接:
<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 :(得分: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")
答案 1 :(得分:0)
您可以将localStorage用于此类事情。
http://www.w3schools.com/html/html5_webstorage.asp
基本上,您只需将变量添加到localStorage,它就会将其保存以供将来访问。
所以,例如:
下载时:localStorage.state = 'downloading'
完成后:localStorage.state = 'done'
:
if(localStorage.state)
$(".downloadIcon").hide()
if(localStorage.state == 'done')
$(".installIcon").show()