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: Thank you for reporting this issue! We investigated the problem you described and it seems that it does not appear in all modern browsers. Try to upgrade your version of AJAX Control Toolkit to the newest one and this problem will disappear.
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: Thank you for reporting this issue! We investigated the problem you described and it seems that it does not appear in all modern browsers. Try to upgrade your version of AJAX Control Toolkit to the newest one and this problem will disappear.