Ajax TabContainerTabPanels Разрывать обратные передачи - PullRequest
0 голосов
/ 10 мая 2011

Эй, ребята, проверьте это ...

<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>

ничего сумасшедшего ... просто табконейнер с парой панелей на нем, вторая скрыта.

Теперь мы переходим к коду позади ...

    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;
    }

Здесь все идет ужасно неправильно ...

Я нажимаю кнопку на панели первой вкладки, чтобы создать новую вкладку с шаблоном, определенным в моей скрытой панели, затем я иду на эту панель и изменяю выбор в раскрывающемся списке ....

Выполняет обратную передачу, но событие выпадающего меню никогда не вызывается ....

Есть идеи ???

Ответы [ 2 ]

1 голос
/ 26 июня 2011

Проблема в том, что вы не можете динамически скопировать скрытую шаблонную панель вкладок и добавить новую в коллекцию.Очевидно, элемент управления tabcontainer не позволяет этого без большого количества «взлома».

Я не совсем уверен, почему, но кажется, что типы ITemplate плохо клонируются для обработки событий.

0 голосов
/ 09 июня 2011

Я думаю, что это может быть потому, что ваш TabContainer не имеет AutoPostBack установлен в true.

...