0

ajaxToolKit:TabContainerのウェブサイトに があります。3 つのタブがあり、それぞれ何らかのProduct形で表示されます (説明、追加情報、レビュー)。他にも3 つのタブが動的に作成され、製品が特定の基準を満たした場合にタブ コンテナーに読み込まれます。ただし、これらの 3 つの動的タブを読み込むと、問題が発生します。

タブをロードすると、タブ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 つの動的に読み込まれるタブ) がないため、問題はありません。

4

2 に答える 2

0

最初の位置に動的に作成されたタブを作成することは本当に必要ですか? . 以前の既存のタブからコンテンツを継承しているだけなので

于 2013-10-22T08:45:09.033 に答える
0

Used a jquery hack to hide the tabs panel. The native javascript for the panel makes it show again. not the cleanest but it worked for what I wanted to do.

jQuery(document).ready(function () {
    jQuery(".ajax__tab_panel").hide();
});
于 2013-10-28T21:39:22.150 に答える