编程语言
首页 > 编程语言> > asp.net – 为什么ModalPopupExtender不通过javascript显示?

asp.net – 为什么ModalPopupExtender不通过javascript显示?

作者:互联网

我关注了几个Web资源,以了解如何从客户端显示弹出窗口,并且我创建了以下代码:

<asp:ImageButton runat="server" ID="btnOk" ImageUrl="imagens/btnAlterar.gif" OnClientClick="btnOkClick()" />

<asp:LinkButton runat="server" ID="dummyForPopup" Visible="false"/>

<ajaxToolKit:ModalPopupExtender runat="server" BehaviorID="btnOkPopupBehavior" ID="MPXtender" TargetControlID="dummyForPopup"  PopupControlID="pnlUpdateUserModal" BackgroundCssClass="modalBackground" OkControlID="btnCloseRequestUserUpdate" OnOkScript="userUpdReq_onOk()" />


function btnOkClick()
{
    if(validateAll())
    {
        var behavior = $find('btnOkPopupBehavior');
        if (behavior)
        {
            behavior.show();
        }
        else
        {
            var lblOutput = $get('<%= lblOutput .ClientID %>');
            lblOutput .innerText = 'Couldn't find popup';
        }
    }
}

以前我把模态弹出窗口链接到ok按钮,它运行得很好.现在我在打开弹出窗口之前需要一些验证,这段代码不再工作= /

解决方法:

1)您的虚拟按钮必须是可见= true,否则javascript无法正常工作.所以设置visible = true但是css是disaply none:

 <asp:LinkButton runat="server"
 ID="dummyForPopup" style
 ="display:none" Visible="true" />

2)lblOutput .innerText =’找不到弹出窗口’;是一个javascript错误.您需要将其更改为:“找不到弹出窗口”; (或使用&)

3)OnClientClick =“btnOkClick()”应该说:OnClientClick =“btnOkClick(); return false;”

4)在页面上查找任何其他javascript错误,因为这些错误会使弹出窗口无法正常工作.

标签:javascript,asp-net,asp-net-ajax,modalpopupextender
来源: https://codeday.me/bug/20190607/1193002.html