0

やあみんなこれをチェックしてください...

<asp:TabContainer ID="jkhgjkgh" runat="server">
    <asp:TabPanel ID="jkkljhgh" runat="server" HeaderText="sdkl;fgjl;kgjdf">
        <ContentTemplate>
            <asp:Button ID="jhgkjgh" runat="server" Text="Button" onclick="Button1_Click" />
        </ContentTemplate>
    </asp:TabPanel>
    <asp:TabPanel ID="jkgh" runat="server" HeaderText="gjdkl;gjdf;g" Visible="false">
        <ContentTemplate>
            <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="dropDownSelect">
                <asp:ListItem Text="test" />
                <asp:ListItem Text="test" />
                <asp:ListItem Text="test" />
                <asp:ListItem Text="test" />
            </asp:DropDownList> 
        </ContentTemplate>
    </asp:TabPanel>

クレイジーなことは何もありません...2つ目のパネルが隠されているタブコンテナだけです。

今、私たちは背後にあるコードに行きます...

    protected void Button1_Click(object sender, EventArgs e)
    {
        TabPanel p = new TabPanel();

        p.ContentTemplate = jkgh.ContentTemplate;

        jkhgjkgh.Tabs.Add(p);
    }

    protected void dropDownSelect(object sender, EventArgs e)
    {
        int i = 0;
    }

これがすべてがひどく間違っているところです...

最初のタブパネルのボタンをクリックして、非表示のパネルでテンプレートが定義された新しいタブを作成します。次に、そのパネルに移動して、ドロップダウンで選択を変更します...。

ポストバックを実行しますが、ドロップダウンイベントが発生することはありません...。

何か案は ???

4

2 に答える 2

1

問題は、非表示のテンプレート化されたタブパネルを動的にコピーして、コレクションに新しいタブパネルを追加できないことです。どうやら、tabcontainerコントロールは、多くの「ハッキング」なしではこれを許可していません。

理由は完全にはわかりませんが、ITemplateタイプはイベント処理のために適切に複製されないようです。

于 2011-06-26T15:05:16.647 に答える
0

TabContainerのAutoPostBackがtrueに設定されていないことが原因である可能性があります。

于 2011-06-09T14:43:22.997 に答える