2011-10-10 41 views
0

我有一個aspx頁面,它有三個選項卡。當我點擊tab3中的一個按鈕時,會發生一個回傳,它會將我帶回到tab1。我如何留在tab3中? 以下是我的aspx頁面。另外我注意到我們有一個JavaScript來將活動標籤設置爲tab1。任何人都可以告訴我如何修改它,以便在回發期間將選定的選項卡設置爲活動選項卡?如何在回發期間留在選定的選項卡中?

<script type="text/javascript"> 
    $(document).ready(function() { 

     //When page loads... 
     $(".tab_content").hide(); //Hide all content 
     $("ul.tabs li:first").addClass("active").show(); //Activate first tab 
     $(".tab_content:first").show(); //Show first tab content 

     //On Click Event 
     $("ul.tabs li").click(function() { 

      $("ul.tabs li").removeClass("active"); //Remove any "active" class 
      $(this).addClass("active"); //Add "active" class to selected tab 
      $(".tab_content").hide(); //Hide all tab content 

      var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content 
      $(activeTab).fadeIn(); //Fade in the active ID content 
      return false; 
     }); 

    }); 

<div id="content">  
<ul class="tabs"> 
<li><a href="#tab1">Edit</a></li> 
<li><a href="#tab2">History</a></li> 
<li><a href="#attachmentcontent">Attachments</a></li> 
</ul> 


<div class="tab_container"> 

<div id="tab1" class="tab_content"> 

...

+0

我已通過使用隱藏字段解決了該問題。我無法在這裏發佈我的jQuery腳本。如果有人想要幫助,請給我發電子郵件。 – GLP

回答

0

你所指的是維護狀態,常用的方法是在會話或視圖狀態中存儲一個變量,指示什麼是「選定」選項卡。然後在頁面加載時將其讀回並將其應用到適當位置的頁面。

0

保持接頭3的會話值和回傳過程中只設置到會話值的標籤位置。

基本上你需要將狀態存儲在某個地方,無論是某個cookie/session狀態完全由你決定。然後,將該會話狀態變量加載到控件的屬性值中,以將其設置回您正在查看的位置。

閱讀關於asp.net會話狀態。

+0

我注意到我們有一個JavaScript來將活動標籤設置爲tab1。任何人都可以告訴我如何修改它,以便在回發期間將其設置爲選定的選項卡? – GLP

+0

不會viewstate更好嗎?我的意思是我不喜歡使用會話,如果我不需要。因爲這個過程只在一個頁面上進行,我們可以使用ViewState嗎? – Bastardo

+0

ViewState不起作用。 – GLP

0

會話有一些缺點。 JavaScript只能讀取會話的第一個值。例如,您在Page_Load中設置了Session["name"]="Gaolai Peng"。然後在一個按鈕中點擊回帖,如果你設置了Session["name"]="Rauf"。如果您使用JavaScript閱讀會話,則會返回「Gaolai Peng」。所以請使用HiddenField而不是會話。

+0

我如何在jQuery中做到這一點? – GLP

+0

@Gaolai Peng你使用jQuery標籤嗎? – Rauf

相關問題