0

在我的 MVC Web 应用程序中,我有一个功能,我需要存储几种不同类型的操作和一个键值对。

例如:有一个链接:

<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吗?任何想法,帮助将不胜感激。

谢谢你

4

2 回答 2

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")

于 2013-02-28T07:50:00.643 回答
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()
于 2013-02-28T07:50:39.523 回答