I have a ModalPopupExtender from AjaxControlToolkit that works correctly in Firefox, Chrome and IE8, but when I run it in IE8 compatibility mode, it appears behind the contents of my page, and not at the top.
The pop-up window is located in the user control, which is displayed on the main page. What I think is happening is popping up in front of the contents of the main page, since the contents of the main page (my title and sidebars) are grayed out, but the content placeholders are rendered in front of my popup. I found a solution on the Internet that suggested changing the doctype declaration on the home page to:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
But I already had this exact announcement and still a positioning problem. Here is the popup code:
<cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="lnkbtnDealerID" PopupControlID="pnlPopup" BackgroundCssClass="modalBackground" DropShadow="true" OkControlID="OkButton" CancelControlID="CancelButton" OnOkScript="" > </cc1:ModalPopupExtender> <asp:Panel ID="pnlPopup" runat="server" CssClass="modalPopup" Style="display: none" Width="233px"> <p>Are you sure? Your current shopping cart is valid only for the current Dealer ID. Switching Dealer IDs will reset your cart according to the new Dealer ID chosen.</p> <br /> <div align="center"> <asp:Button ID="OkButton" runat="server" Text="Ok" /> <asp:Button ID="CancelButton" runat="server" Text="Cancel" /> </div> </asp:Panel>
And the corresponding CSS:
.popupControl { background-color: white; position:absolute; visibility:hidden; border-style:solid; border-color: Black; border-width: 2px; } .modalBackground { background-color:Gray; filter:alpha(opacity=70); opacity:0.7; } .modalPopup { background-color:white; border-width:1px; border-style:solid; border-color:Gray; padding:3px; width:250px; }
fr0man
source share