2013-10-14 61 views
0

我在我的網站上有ajaxToolKit:TabContainer。我有三個選項卡,每個Product以某種形式填充(說明,附加信息,評論)。如果產品符合特定標準,我也有三個動態創建的其他選項卡,並將其加載到選項卡容器中。當我加載這三個動態標籤時,我遇到了一個問題。Ajax標籤容器顯示不正確的文字

當我加載選項卡時,Description選項卡中的文本顯示在所有其他選項卡中,直到我單擊Description選項卡,然後它從所有其他選項卡中消失。

它發生在我真正關心的所有瀏覽器中(Chrome,IE,FF)。 html標記在查看源代碼時,其文本在正確的divtab panel之內,但由於某些原因顯示不正確。

這是我如何加載控件後面的代碼並將它們添加容器:

  TabPanel overviewTab = new TabPanel(); 

      ProductOverviewInfo control = (ProductOverviewInfo)Page.LoadControl("~/Controls/ProductOverviewInfo.ascx"); 
      control.overview_populate(); 

      overviewTab.Controls.Add(control); 
      overviewTab.HeaderText = "OVERVIEW"; 
      ProductTabs.Controls.AddAt(firstVisibleTab, overviewTab); 

firstVisibleTab只是一個int值決定,我要插入選項卡。

現在,我找到了一個解決方案,但這不是我想要的,也不是我的項目贊助商想要的。如果我只是使用ProductTabs.Control.Add(tab)那麼我沒有問題。但是,如果產品符合具有總覽選項卡的標準(上面的代碼),我希望該選項卡處於活動狀態。

現在,您可能會問,爲什麼您不使用.Add(tab),然後將ActiveTabIndex放在您插入新選項卡的位置。那麼,我試過這個,出於某種原因,當我做檢查時(或者直接將它添加到上面的代碼中),整個TabContainer根本不會顯示。

因此,在我正在使用的產品的大約一半中,我遇到了此文本顯示在錯誤標籤中的問題,另一半沒有問題,因爲沒有概覽選項卡(或其他2個動態加載標籤)存在。

回答

0

使用jquery hack隱藏標籤面板。面板的原生JavaScript使其再次顯示。不是最乾淨的,但它爲我想做的事情工作。

jQuery(document).ready(function() { 
    jQuery(".ajax__tab_panel").hide(); 
}); 
0

使第一個位置動態創建標籤真的是必需的嗎? 。因爲它只是從先前存在的標籤繼承內容