In Firefox, when using the PopupControl extender inside a TabPanel, the popup is displayed after initial page load/postback without activating the target control.
In IE7, it works like expected: the popup is not displayed after initial page load/postback.
Easy to reproduce with the PopupControl Demonstration from the Ajax Control Toolkit sample website: just move Textbox, Panel and PopupControl extender inside a tab panel:
<ajaxToolkit:TabContainer ID="TabContainer1" runat="server">
<ajaxToolkit:TabPanel runat="server" HeaderText="1">
<ContentTemplate>
Reminder message:
<asp:TextBox ID="MessageTextBox" runat="server" Width="200" autocomplete="off" /><br /><br />
<asp:Panel ID="Panel2" runat="server" CssClass="popupControl">
<div style="border: 1px outset white; width: 100px">
<asp:UpdatePanel runat="server" ID="up2">
<ContentTemplate>
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
<asp:ListItem Text="Walk dog" />
<asp:ListItem Text="Feed dog" />
<asp:ListItem Text="Feed cat" />
<asp:ListItem Text="Feed fish" />
<asp:ListItem Text="Cancel" Value="" />
</asp:RadioButtonList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
<ajaxToolkit:PopupControlExtender ID="PopupControlExtender2" runat="server"
TargetControlID="MessageTextBox"
PopupControlID="Panel2"
CommitProperty="value"
Position="Bottom"
CommitScript="e.value += ' - do not forget!';" />
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>
<asp:Button ID="ReminderButton" runat="server" Text="Add reminder" OnClick="ReminderButton_Click" />
<br /><br />
<asp:Label ID="Label38" runat="server" Text="[No response provided yet]" />
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="2">
<ContentTemplate></ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
Comments: Is there a resolution to this yet?
In IE7, it works like expected: the popup is not displayed after initial page load/postback.
Easy to reproduce with the PopupControl Demonstration from the Ajax Control Toolkit sample website: just move Textbox, Panel and PopupControl extender inside a tab panel:
<ajaxToolkit:TabContainer ID="TabContainer1" runat="server">
<ajaxToolkit:TabPanel runat="server" HeaderText="1">
<ContentTemplate>
Reminder message:
<asp:TextBox ID="MessageTextBox" runat="server" Width="200" autocomplete="off" /><br /><br />
<asp:Panel ID="Panel2" runat="server" CssClass="popupControl">
<div style="border: 1px outset white; width: 100px">
<asp:UpdatePanel runat="server" ID="up2">
<ContentTemplate>
<asp:RadioButtonList ID="RadioButtonList1" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
<asp:ListItem Text="Walk dog" />
<asp:ListItem Text="Feed dog" />
<asp:ListItem Text="Feed cat" />
<asp:ListItem Text="Feed fish" />
<asp:ListItem Text="Cancel" Value="" />
</asp:RadioButtonList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
<ajaxToolkit:PopupControlExtender ID="PopupControlExtender2" runat="server"
TargetControlID="MessageTextBox"
PopupControlID="Panel2"
CommitProperty="value"
Position="Bottom"
CommitScript="e.value += ' - do not forget!';" />
<asp:UpdatePanel ID="UpdatePanel3" runat="server">
<ContentTemplate>
<asp:Button ID="ReminderButton" runat="server" Text="Add reminder" OnClick="ReminderButton_Click" />
<br /><br />
<asp:Label ID="Label38" runat="server" Text="[No response provided yet]" />
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="2">
<ContentTemplate></ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
Comments: Is there a resolution to this yet?