ModalPopupExtender 未从页面加载后的代码中显示
ModelPopupExtender not showing from code behind on pageLoad
我需要在页面加载时显示弹出窗口。我使用过 ModelPopupExtender。它确实显示在它的 TargetControlID 单击上,但未显示在代码隐藏的页面加载上。
我检查了堆栈上的许多解决方案,但其中 none 对我有用。
protected void Page_Load(object sender, System.EventArgs e)
{
this.mpOTP.Show();
}
<asp:Button ID="activateMpOtp" runat="server" Text="Open" ClientIDMode="Static"/>
<asp:ModalPopupExtender ID="mpOTP" runat="server" BackgroundCssClass="popup-overlay" PopupControlID="pnlOTP" CancelControlID="closeOTP" TargetControlID="activateMpOtp"></asp:ModalPopupExtender>
<asp:Panel ID="pnlOTP" runat="server" CssClass="popup-dialogue">
</asp:Panel>
在控制台中出现此错误
您的标记不正确。
首先,您需要在页面标记的顶部使用以下指令注册 AjaxControlToolKit 控件,就在页面指令之后。
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act %>
然后,您的标记应如下所示。下面列出了您的标记存在的问题。
- 您没有包含取消按钮的标记
- 而且你的控件前缀是错误的,因为它不应该是
asp
这是前缀是 ASP.Net Microsoft 控件而不是 AJAXControlToolKit (注意:你在你的注册指令中给出这个前缀对于 AjaxControl,Toolkit,在给定的代码示例中是 act
,但您可以提供任何前缀并将其用于 modalpopuextender)
ModalPopupExtender 的正确标记
<asp:Button ID="activateMpOtp" runat="server" Text="Open" ClientIDMode="Static"/>
<act:ModalPopupExtender ID="mpOTP" runat="server" BackgroundCssClass="popup-overlay"
PopupControlID="pnlOTP" CancelControlID="closeOTP"
TargetControlID="activateMpOtp"></act:ModalPopupExtender>
<asp:Panel ID="pnlOTP" runat="server" CssClass="popup-dialogue">
<div class="header">
Modal Popup
</div>
<div class="body">
Your content goes here
<br />
<asp:Button ID="closeOTP" runat="server" Text="Close" />
</div>
</asp:Panel>
我需要在页面加载时显示弹出窗口。我使用过 ModelPopupExtender。它确实显示在它的 TargetControlID 单击上,但未显示在代码隐藏的页面加载上。 我检查了堆栈上的许多解决方案,但其中 none 对我有用。
protected void Page_Load(object sender, System.EventArgs e)
{
this.mpOTP.Show();
}
<asp:Button ID="activateMpOtp" runat="server" Text="Open" ClientIDMode="Static"/>
<asp:ModalPopupExtender ID="mpOTP" runat="server" BackgroundCssClass="popup-overlay" PopupControlID="pnlOTP" CancelControlID="closeOTP" TargetControlID="activateMpOtp"></asp:ModalPopupExtender>
<asp:Panel ID="pnlOTP" runat="server" CssClass="popup-dialogue">
</asp:Panel>
在控制台中出现此错误
您的标记不正确。
首先,您需要在页面标记的顶部使用以下指令注册 AjaxControlToolKit 控件,就在页面指令之后。
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="act %>
然后,您的标记应如下所示。下面列出了您的标记存在的问题。
- 您没有包含取消按钮的标记
- 而且你的控件前缀是错误的,因为它不应该是
asp
这是前缀是 ASP.Net Microsoft 控件而不是 AJAXControlToolKit (注意:你在你的注册指令中给出这个前缀对于 AjaxControl,Toolkit,在给定的代码示例中是act
,但您可以提供任何前缀并将其用于 modalpopuextender)
ModalPopupExtender 的正确标记
<asp:Button ID="activateMpOtp" runat="server" Text="Open" ClientIDMode="Static"/>
<act:ModalPopupExtender ID="mpOTP" runat="server" BackgroundCssClass="popup-overlay"
PopupControlID="pnlOTP" CancelControlID="closeOTP"
TargetControlID="activateMpOtp"></act:ModalPopupExtender>
<asp:Panel ID="pnlOTP" runat="server" CssClass="popup-dialogue">
<div class="header">
Modal Popup
</div>
<div class="body">
Your content goes here
<br />
<asp:Button ID="closeOTP" runat="server" Text="Close" />
</div>
</asp:Panel>