ModalPopupExtender-如何仅在满足某些条件时显示?

| 我正在使用ModalPopupExtender。按钮的Onclick(是ModalPopupExtender的TargetControlID),调用javascript检查某些条件。我的要求是,我只想在某些条件为真时才显示弹出窗口,否则将其隐藏。 这是代码。隐藏功能在这里不起作用。即使调用hide()也会出现弹出窗口。
function ShowAlert()
{
    if (selBtn == \"\" || selBtn == null)
    {
        alert(\"Please select scrip/scheme first\");
        var modalPopup = $find(\'<%=ModalPopupExtender2.ClientID %>\');
        if (modalPopup != null)
        {
            modalPopup.hide();
        }
        return false;
    }
}

-----------------------------------------------

<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
   <tr>
     <td valign=\"top\" align=\"center\">
       <asp:Button ID=\"btnSet\" runat=\"server\" Text=\"Set Alerts\" OnClientClick=\"ShowAlert();\" />
       <cc1:ModalPopupExtender ID=\"ModalPopupExtender2\" runat=\"server\" BehaviorID=\"ModalBehaviour2\" TargetControlID=\"btnSet\" PopupControlID=\"pnlPopupU\" DropShadow=\"false\" X=\"100\" Y=\"200\" BackgroundCssClass=\"Inactive\"></cc1:ModalPopupExtender>
     </td>
   </tr>
</table>
    
已邀请:
        我有类似的情况,无法使用Javascript。 相反,我在服务器端进行了条件检查和modalpopup显示。解决方案不像使用客户端JavaScript那样干净,但是至少我可以正常使用并继续进行下去。
If Condition == true then modalPopUp.Show()
在面板pnlPopU中,放置一个按钮(CancelControlID为modalpopupextender),然后向其添加onclientclick事件以隐藏弹出窗口。
var modalPopup = $find(\'<%=ModalPopupExtender2.ClientID %>\');
modalPopup.hide();
编辑: 另一个解决方法: 1)添加一个隐藏按钮(显示:无)并将其分配给modalPE \的TargetControlID 2)在btnSet客户端单击事件上,进行条件检查,如果满足条件,则执行隐藏的按钮单击事件(触发modalPE)     
        在后面的代码中,您可以执行以下操作:
if (true)
{
var script = @\"Sys.Application.add_load(function() { $find(\'behavoirIDModal\').show(); });\";
ScriptManager.RegisterStartupScript(this, GetType(), \"ShowPopup\", script, true);
}
在aspx中,您将执行以下操作:
   <asp:Panel runat=\"server\" ID=\"pnlSalvo\">
        <asp:Button ID=\"btnClose\" runat=\"server\" Text=\"Fechar\" />
    </asp:Panel>
    <ajaxToolkit:ModalPopupExtender ID=\"ModalResultado\" BehaviorID=\"acao\" runat=\"server\" PopupControlID=\"pnlSalvo\"
        TargetControlID=\"btnShow\"
        CancelControlID=\"btnClose\">
    </ajaxToolkit:ModalPopupExtender>
    <asp:Button ID=\"btnShow\" runat=\"server\" Text=\"Modal\" Visible=\"true\"  />
    

要回复问题请先登录注册