2010-08-27 14 views

回答

6

我找不到通過Telerik的的API這樣做的任何正式的方式,也沒有對他們的論壇任何有用的建議,所以我決定利用走它自己的路:

  1. HTML。 Telerik的()。TabStrip控件()。ClientEvents()兩者ONSELECT()和的OnLoad()
  2. The cookie plugin for jQuery

然後我有線起來如下,在包含TabStrip的局部視圖。

.ClientEvents(events => events 
.OnSelect(() => 
{ 
    %> 
    function(e) { 
     var item = $(e.item); 
     $.cookie('selectedTabIndex', item.index(), { path: '/' }); 
    } 
    <% 
}) 
.OnLoad(() => 
{ 
    %> 
    function(e) { 
     var tabStrip = $("#TabStrip").data("tTabStrip"); 
     var index = $.cookie('selectedTabIndex'); 
     var domElement = $("li", tabStrip.element)[index]; 
     tabStrip.select(domElement); 
    } 
    <% 
}) 

編輯:我意識到,我的答案是缺乏解釋有點所以我說:

在情況下,它並不明顯,ONSELECT 是捕捉所選 選項卡的索引,並將 寫入名爲 selectedTabIndex的cookie。路徑爲 ,因此它將覆蓋我們的整個網站, ,但是如果您將其保留,則會爲 爲每個不同的 路徑(可能是您期望的 行爲)創建一個新的cookie。有人更熟悉 jQuery cookie插件請 糾正我,如果我錯了,我 還沒有使用它很多。

然後在OnLoad它基本上是做 相反。它找到 tabStrip,從 cookie中獲取索引,然後從cookie 的索引處獲取 的元素,並通知tabStrip選擇該 domElement。

這似乎在Chrome和IE瀏覽器工作得很好,但可能有一些怪癖在FFox 3

我希望Telerik的團隊認爲這增加他們的API,因爲它給我的印象是一個非常有用的功能,已經烘烤。道歉,如果它已經是,但我無法在文檔中找到它。

相關問題