我有一个有6-7个标签的应用程序。我想要的是,每当我关闭浏览器并再次打开它时,页面数据应该被保留,即页面的状态应该被维护。现在在我的页面中,我有成千上万的值,比如几个树、文本框和复选框,将所有这些值逐个存储在etc.So中并不是一个好主意。
我谷歌了很多,但我没有找到任何方法来做到这一点。有人能帮我找到解决这个问题的办法吗?
发布于 2012-12-28 13:06:42
没有神奇的解决方案。
你可以沿着下面的路线探索-
Server Side approach - Activities and Places with Asyc calls to get the last stored values.
Client Side approach - Activities and Places with HTML5 local storage. 两者都不容易与您希望看到的那种缓存功能一起使用。
发布于 2012-12-28 17:57:10
我怀疑你在一个页面上是否有数千个独特的值--这将意味着一个非常糟糕的设计。
更有可能的是,您有一个树,它在用户每次访问此页面时显示相同的值(例如,特定类型的项目列表),以及与特定数据对象(例如,产品)相对应的各种输入元素。在这种情况下,此页面的整个状态可以总结为如下所示:
myWebSite/?#OrderForm:user=123&category=5&product=xyz&size=large当用户重新加载此页面(或稍后返回此页面)时,您的应用程序可以解析此URL令牌,它将确切地知道要向用户显示什么:显示所有面板、复选框等,加载并填充一个包含类别和产品的树,将类别5设置为菜单中的选定项,将产品xyz设置为产品树中的选定项,在详细信息面板中显示此产品的详细信息,并选择size OrderForm in a ListBox of size。
当然,这只是一个例子,但通过适当的应用程序设计,应用程序中的任何“页面”都可以用几个参数和非常少的(通常是一个)数据对象来描述。然后,您可以将此状态存储在URL令牌中、cookie中、服务器会话中或持久存储在数据库中-您有许多选择,具体取决于您的需求。
https://stackoverflow.com/questions/14064794
复制相似问题