2009-08-10 67 views
2

ASP .NET允许
存储在隐藏输入字段中的值被允许
查询字符串是不允许
POST请求是不允许GET请求之间是否存在JavaScript变量?

它可以存储GET请求之间的JS变量?
我想使用ClientScript在客户端上重新初始化它们.RegisterStartupScript

我可以使用cookie吗?
还有其他可能吗?
请求发送时cookie被存储在哪里?

回答

3

我可以使用cookie吗?

是的,请参阅tutorial on using cookies in Javascript

还有其他可能吗?

如果你不被允许追加任何你的请求的URL,我不能拿出任何东西。

当请求发生时cookie被存储在哪里?

在HTTP请求标头中。前面的教程将告诉你如何从Javascript读取它们的值。在ASP.Net的服务器端,您可以使用Request.Cookie["cookieName"]来读取cookie值,它将返回HttpCookie的一个实例。

0

目前使用Cookie是最好的选择。您可以将JavaScript对象序列化为字符串,并在稍后将其反序列化为对象。 JSON是一种很好的选择格式,因为它是JavaScript的一个子集。

Flash中还有存储对象。 存储在Google Gears中。 DomStorage

看到这个库,必须每一个接口: http://pablotron.org/?cid=1557

如果你在页面的各个环节的控制,那么你也可以换页的顶层框架。然后只刷新子框架。然后,您可以将内容存储在父框架中。

您可以在GMail等网站以及URL中唯一发生变化的地方在#之外看到这一点。

您甚至不需要更改网址,该部分只是放在人性化网址中。 (所以你可以实际上复制和粘贴网址)。

+0

我在过去使用Framesets和IFrame来试用你的想法。但是,我的网站会闪烁,所有iframe闪烁其内容,并导致不良的用户体验。 – 2009-08-12 13:42:43

+0

,这一定是前一阵子。我相信闪烁的问题在今天使用的大多数浏览器中都是固定的。 Gmail不会flickr,并且它使用框架集,查看源代码。还有闪烁的解决方法,但是我不记得那是一年或两年以前的具体情况。 – bucabay 2009-08-12 23:15:58

3

我不会高度推荐这个,但其他选项是改变window.name属性。

可以在这里保存一些小数据,然后在下一页加载时检索它们。

优点:

  • 快速正脏,但工程

缺点:

  • 弄乱了弹出式广告/儿童的任何窗口引用的IFrame
  • 由于其“黑客”,浏览器售货或将来可能会突破这个“功能”

当然,如果你可以排除所有的旧浏览器,然后使用Global/Client Session Storage

0

如果你存储的对象很大,或者如果你想精确地恢复它们(哪个JSON肯定不会),那么使用http://rhaboo.org。大多数图书馆将大型对象和数组序列化为一个localStorage入口,但这意味着在每一个小小的变化中对整个事物进行解码和重新编码,这意味着忠诚用户的表现会逐渐恶化。 Rhaboo为对象中的每个终端值使用一个单独的LS条目,然后逐个调整或附加它们,这样就不会影响性能。

顺便说一下,我写了rhaboo。

相关问题