2009-08-10 41 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。