2013-04-26 53 views
0

我在ASP.NET中使用Juice UI選項卡功能,在代碼隱藏中動態構建選項卡,並發現我無法當調用OnActiveTabChanged時,獲取活動選項卡的索引/ ID。因此,這裏是我的一切在我的ASPX頁面:ASP.NET中的Juice UI選項卡 - 如何在代碼隱藏中獲取活動選項卡ID

juice:Tabs ID="dataTabs" runat="server" AutoPostBack="true" OnActiveTabChanged="dataTabs_ActiveTabChanged"/

而且dataTabs_ActiveTabChanged火災的時候,我找不到實際上有一個已經選擇的選項卡的索引/ ID的一個屬性。這兩個dataTabs.Active和dataTabs.Selected始終是0

我需要採取一些行動服務器端時,選定一個給定的選項卡,但要這樣做,需要能夠告訴哪個標籤被實際點擊。我已經在客戶端使用各種jQuery腳本來設置一個隱藏對象到標籤的值(測試activate和beforeActivate事件),但他們從不觸發(在jQuery函數內放置警報,從不觸發),我假設它是因爲我正在運行控制服務器端?

編輯:加入我的樣品的要求

這裏隱藏代碼本質上是我如何填充選項卡頁面加載時:

protected void loadAndPopulateTabs() 
    { 
     Juice.TabPage utilityTab = new Juice.TabPage(); 
     utilityTab.Title = "Utilities"; 
     utilityTab.ID = "utTab"; 

     string utilTabText = "sometext"; 
     dataTabContent dtcUT = new dataTabContent(utilTabText); 

     utilityTab.TabContent = dtcUT; 
     dataTabs.TabPages.Add(utilityTab); 
} 

與目前的代碼隱藏我的OnActiveTabChanged處理程序是相當空WHIE我玩,看看有什麼財產,我可以用它來獲得所選標籤:

protected void dataTabs_ActiveTabChanged(object sender, EventArgs e) 
{ 
    int currentTab = dataTabs.Active; 
} 

我基本上使用一條線路上破看看我是否能找到一種方法來獲取任何可以告訴我選擇哪個標籤的選項(sender.Active也總是顯示0)

想法?

+0

顯示你的代碼隱藏 – Roar 2013-04-26 14:51:47

+0

更新,最初留下來對不起 – user2324088 2013-04-26 15:13:16

回答

0

應該閱讀這http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
有一個頁面生命週期
,如果你想在標籤中添加代碼隱藏做到在找到一種方法來對付它init事件

protected void PageInit(object o, EventArgs e){ 
    loadAndPopulateTabs(); 
} 

protected void loadAndPopulateTabs() 
    { 
     Juice.TabPage utilityTab = new Juice.TabPage(); 
     utilityTab.Title = "Utilities"; 
     utilityTab.ID = "utTab"; 

     string utilTabText = "sometext"; 
     dataTabContent dtcUT = new dataTabContent(utilTabText); 

     utilityTab.TabContent = dtcUT; 
     dataTabs.TabPages.Add(utilityTab); 
} 
+0

很酷,我會檢查一下,今晚試試,謝謝! – user2324088 2013-04-26 15:26:47

+0

那麼,這固定一件事,現在我實際上可以得到dataTabs_ActiveTabChanged中的標籤計數以及每個標籤的每個其他細節,但仍然無法獲得活動標籤的索引或ID(活動始終顯示0)。我確信我正在做一些愚蠢的事情,但我會轉向更關鍵的工作(這很好),然後再回來 – user2324088 2013-04-27 14:42:18

0

...幾天前我搞砸了這個解決方案,並且無法工作,但由於某種原因,這是今天。不知道我以前做錯了什麼。無論如何,解決方案是我發現很多使用jQuery選項卡必須做的人,將選定的選項卡存儲在隱藏字段中,並在代碼隱藏中訪問該值。我說這我的網頁:

 <script type="text/javascript"> 
     $(function() { 
      $('#dataTabs').tabs({ 
       beforeActivate: function (event, ui) { 
        $('#<%=selectedTab.ClientID %>').val(ui.newPanel.attr('id')); 
       } 
      }); 
     }); 
     </script> 

和:

 <asp:HiddenField runat="server" ID="selectedTab" /> 

和dataTabs_ActiveTabChanged火災時,selectedTab的價值是被選中的選項卡的名稱。踢自己以前錯過了這個。

相關問題