允许使用ASP .NET 允许在隐藏的输入字段中存储值 不允许使用查询字符串 不允许POST请求
可以在GET请求之间存储JS变量吗?
我想使用ClientScript.RegisterStartupScript在客户端上重新初始化它们
我可以使用cookies吗?
还有其他可能吗?
在提出请求时存储cookie?
答案 0 :(得分:3)
我可以使用cookies吗?
是的,请参阅此tutorial on using cookies in Javascript。
还有其他可能吗?
如果您不允许附加任何要求的网址,我就无法提出任何要求。
在提出请求时存储cookie?
在HTTP请求标头中。上述教程将告诉您如何从Javascript中读取它们的值。在ASP.Net的服务器端,您可以使用Request.Cookie["cookieName"]
读取cookie值,该{{1}}返回HttpCookie
的实例。
答案 1 :(得分:3)
我不会高度推荐这个,但另一个选择是改变 window.name 属性。
你可以在这里保存一些小数据,然后在下一页加载时检索它们。
<强>优点:强>
<强>缺点:强>
当然,如果您可以排除所有旧浏览器,请使用Global/Client Session Storage!
答案 2 :(得分:0)
目前使用cookies是最好的选择。您可以将JavaScript对象序列化为字符串,稍后将它们反序列化为对象。一个很好的选择格式是JSON,因为它是JavaScript的一个子集。
Flash中也存储对象。 存储在Google Gears中。 DomStorage
请参阅此库,其中包含每个库的接口: http://pablotron.org/?cid=1557
如果您可以控制页面的所有方面,那么您也可以将页面包装在顶层框架中。然后只刷新子框架。然后,您可以将内容存储在父框架中。
您可以在GMail等网站中看到这种情况,其他网站中唯一更改的内容是#。
您甚至不必更改URL,该部分仅用于人性化URL。 (因此,您可以按原样复制和粘贴URL)。
答案 3 :(得分:0)
如果您要存储的对象很大,或者您想要精确地恢复它们(JSON肯定没有),那么请使用http://rhaboo.org。大多数库将大型对象和数组序列化为单个localStorage条目,但这意味着在每次微小变化时都会对整个事物进行解码和重新编码,这意味着忠诚用户的性能会逐渐恶化。 Rhaboo为对象中的每个终端值使用单独的LS条目,然后单独调整或附加它们,这样就不会影响性能。
BTW,我写了rhaboo。