I am trying to get a modal popup to work, it needs to be triggered in the Code behind.
<asp:Button ID="btnModalPopUp" runat="server" Text="Button" Style="display: none" />
<asp:Panel ID="pnlModalPopup" runat="server" CssClass="modalPopup" Style="display: none"
Width="233px">
<div id="Div1" runat="server" cssclass="title">
Modal text here.
<asp:TextBox ID="txtEditComments" runat="server"></asp:TextBox>
</div>
</asp:Panel>
<cc1:ModalPopupExtender ID="modalMessage" runat="server" TargetControlID="btnModalPopUp"
PopupControlID="pnlModalPopup" BackgroundCssClass="modalBackground" DropShadow="true"/>
Code behind:
protected void Page_Load(object sender, EventArgs e)
{
modalMessage.Show();
}
Even though it hits the “modalMessage.Show();” code it doesn’t show the modal panel.
Two solutions:
The first solution:
Remove
Style="display:none"from thepnlModalPopup.The first solution is will cause the popup to “flash” on the screen when the page first loads, and then quickly disappear.
The second solution:
Recommendation:
I would recommend using the second solution, that way the modal popup doesn’t flicker and then disappear.
Edit: I just tested your code:
I just tested your code in a simple page that contained only the code that you provided…It worked like expected.
Check the following:
UpdatePanelthat is conditionally updated?Panelthat has it’s visibility set to false.