gpt4 book ai didi

c# - ModalPopupExtender 未从页面加载后的代码中显示

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:01 29 4
gpt4 key购买 nike

我需要在页面加载时显示弹出窗口。我使用过 ModelPopupExtender。它确实显示在它的 TargetControlID 单击上,但未显示在代码隐藏的页面加载上。我检查了堆栈中的许多解决方案,但没有一个适合我。

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>

在控制台中得到这个错误 enter image description here

最佳答案

您的标记不正确。

首先,您需要在页面标记的顶部使用以下指令注册 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>

关于c# - ModalPopupExtender 未从页面加载后的代码中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47215843/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com