2011-05-20 52 views
3

形勢看起來像這樣:餅乾切換鏈接

  • 我需要在我的網站,將鏈接與視頻子頁按鈕。
  • 有兩個子頁面 - 一個是高質量視頻,另一個是低質量視頻。
  • 當有人第一次點擊按鈕時,它會將他重定向到子頁面的高質量視頻。從這個子頁面他可以切換到第二個子頁面(低質量視頻)。

問題:
我想在與視頻客戶端的Web頁面最後的(低或高品質)cookies記住。所以,當客戶端返回到我的網站,按鈕會導致他與他最後一個視頻頁。

我使用ASP.NET MVC 2.但我認爲解決這個問題可能是一些JavaScript。

這裏的任何幫助非常感謝!

+1

請解釋您在哪裏遇到問題。你究竟做了什麼,哪些不起作用? – Oded 2011-05-20 15:39:46

+0

你可能想用'localStorage'代替它,它基本上是一個對象,它的值可以跨頁面獲取和設置,在我看來更容易處理。 – pimvdb 2011-05-20 15:41:51

+0

我想使用localStorage,但不幸的是,並非所有的瀏覽器都支持它。 – Marta 2011-05-20 15:59:42

回答

1

您可以檢查此腳本: http://javascript.internet.com/cookies/cookie-redirect.html

它類似於你所需要的。 在.js文件,你必須改變過去如果語句將一個尋找類似:

if (favorite != null) { 
    switch (favorite) { 
     case 'videohq': url = 'url_of_HQ_Video'; // change these! 
      break; 
     case 'videolq': url = 'url_of_LQ_Video'; 
      break; 
    } 

然後將它添加到按鈕/鏈接:

onclick="window.location.href = url" 

到您的網站上你重定向到這些視頻。

還記得添加設置cookie的代碼。您可以添加類似於此的操作:

onClick="SetCookie('video', 'videohq' , exp); 
+0

謝謝!這正是我需要的! – Marta 2011-05-22 12:03:19

1

Cookie通過每個HTTP請求傳遞給服務器。

假設您的按鈕是在服務器上動態生成的,則可以檢查傳入的Cookie以查看用戶是否將問題參數設置爲低質量並相應地更新按鈕URL。

ASP docs

+0

如何檢查傳入的Cookie以查看用戶是否具有問題集中的參數? – Marta 2011-05-20 16:03:37

+0

添加了有關Cookies的ASP.NET文檔鏈接 – Dancrumb 2011-05-20 16:37:41

1

從與ASP.Net WebForms的經驗,其相當簡單的訪問餅乾和我很肯定的事情是建立類似W/MVC。

String GetBandwidthSetting() 
{ 
    HttpCookie bandwidth = Context.Request.Cookies["bandwidth"]; 
    return (bandwidth != null) ? bandwidth.Value : null; 
} 

String SetBandwidthSetting(String value) 
{ 
    HttpCookie bandwidth = new HttpCookie("bandwidth", value); 
    bandwidth.Expires = DateTime.Now.AddYears(1); 
    Context.Response.Cookies.Add(bandwidth); 
}