2010-08-27 15 views
8

, sayfanın hangi sekmenin en son seçildiğini hatırlamasını ve seçimi birden çok sayfa isteği ile sürdürmesini istiyorum. Sahip olduğum şey, birden çok sayfada gösterilen ve TabStrip'i içeren kısmi bir görünümdür. SelectedIndex ile set sekmesi her zaman seçilir, bu da kullanıcının seçimini geçersiz kılar.Telerik TabStrip sekmelerinin sayfa istekleri arasında nasıl kalıcı olmasını sağlayabilirim? Telerik ASP.NET MVC TabStrip içinde

cevap

6

Telerik API'leri ile bunu yapmanın herhangi bir resmi bir şekilde, ne de forumda herhangi yararlı tavsiyeler bulamadık, bu yüzden kullanımı ile bunu kendi yoluma gitmeye karar:

  1. Html. Telerik(). TabStrip(). ClientEvents() onSelect hem() ve OnLoad()
  2. The cookie plugin for jQuery

Sonra TabStrip içeren parsiyel görünümünde, aşağıdaki gibi onları kablolu.

.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); 
    } 
    <% 
}) 

)

Düzenleme: Ben ekledim böylece cevabım açıklama eksik biraz olduğunu fark etti: durumunda

o belli değil, onSelect yakalayan olduğunu seçiliyken seçilen sekmesinin indeksi ve yazılarak selectedTabIndex adlı bir çerez yazılır. Bu sayfa olarak ayarlanmıştır, bu yüzden tüm sitemizi kaplayacak, ancak bunu bırakırsanız her yolu için yeni bir çerez oluşturacaktır (istediğiniz davranışınız olabilir). jQuery cookie eklentisi hakkında daha fazla bilgi sahibi olan birisi, numaralı telefonun yanlış olduğunu fark ederse, çok fazla kullanmadım.

Ardından, OnLoad'da temelde yapıyor. tabStrip öğesini bulur, dizini cookie'den alır, no'lu domElement öğesini numaralı cookie dizininden alır ve tabStrip'e domElement öğesini seçmesini söyler.

Bu Chrome ve Internet Explorer oldukça iyi iş gibi görünüyor, ama bir varlık olarak beni vurur gibi ben Telerik ekibi API bu ekleme gördüğü umut

FFox 3'te bazı tuhaflıklar var olabilir Pişmiş olması oldukça yararlı bir özellik. Öyleyse özür dilerim, ancak dokümanlar içinde bulamadım.

İlgili konular