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\"  />
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...