在Telerik ASP.NET MVC TabStrip中,我希望頁面記住最後選擇了哪個選項卡,並通過多個頁面請求保留選擇。 我有一個局部視圖,顯示在多個頁面,它包含TabStrip。通過SelectedIndex,設置選項卡始終處於選中狀態,從而使用戶的選擇無效。如何讓Telerik TabStrip選項卡在頁面請求之間保持不變?
8
A
回答
6
我找不到通過Telerik的的API這樣做的任何正式的方式,也沒有對他們的論壇任何有用的建議,所以我決定利用走它自己的路:
- HTML。 Telerik的()。TabStrip控件()。ClientEvents()兩者ONSELECT()和的OnLoad()
- 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,因爲它給我的印象是一個非常有用的功能,已經烘烤。道歉,如果它已經是,但我無法在文檔中找到它。
相關問題
- 1. 如何在不保留選項卡的選項卡之外設置根頁面?
- 2. 如何讓頁面內存頁面保持不變
- 3. 如何在jQuery中刷新頁面時保持選項卡?
- 4. MVC 3剃鬚刀 - 保持頁面請求之間的複選框值
- 5. 在選項卡之間切換時保留選項卡內容
- 6. 頁面選項卡App_Data未包含在Facebook簽名請求
- 7. 保持Recyclerview選項卡上的變化
- 8. 在選項卡控件中的選項卡頁面之間淡入淡出
- 9. 頁腳卡在頁面中間div不填充保持屏幕
- 10. 如何在請求之間保持jQuery UI對話狀態?
- 11. 如何在AppEngine(Python)中的請求之間保持狀態?
- 12. 在頁面之間導航時,保持頁面狀態
- 13. 如何讓jQuery UI選項卡出現在頁面底部
- 14. Phaser - 如何在更改Web選項卡時保持補間?
- 15. 如何使用請求參數在頁面上使用jQuery UI選項卡
- 16. 保持數據表格之間Shiny的選項卡
- 17. ajax請求頁面中的jqueryui選項卡
- 18. express.js對象值在請求之間保持/持久,require()緩存?
- 19. Telerik選項卡條
- 20. 確定請求是否通過Facebook頁面選項卡
- 21. 負面縮進與'選項卡之間
- 22. 如何在頁面刷新之間保持屬性的值?
- 23. 如何在頁面之間導航時保持網格靜態?
- 24. 保存頁面之間動態創建的表單域請求
- 25. 動態telerik TabStrip
- 26. 我應該如何讓多個項目之間保持一致?
- 27. 如何保存請求頁面
- 28. 如何保持一個IE頁面請求超過1分鐘?
- 29. 在Telerik MVC TabStrip控件中使用客戶端API添加新選項卡
- 30. 如何刪除頁面控件和其選項卡之間的頁邊距?