【问题标题】:ModalPopupExtender - how to show only when certain conditions are met?ModalPopupExtender - 如何仅在满足某些条件时显示?
【发布时间】:2011-05-31 09:00:27
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: sharepoint-2010 modalpopupextender


    【解决方案1】:

    我遇到过类似的情况,无法使用 Javascript。 相反,我在服务器端进行了条件检查和模态弹出显示。解决方案不像客户端javascript那样干净,但至少我让它工作并继续前进。

    If Condition == true then modalPopUp.Show()
    

    在您的面板 pnlPopU 中,放置一个按钮(modalpopupextender 的 CancelControlID)并向其添加 onclientclick 事件以隐藏弹出窗口。

    var modalPopup = $find('<%=ModalPopupExtender2.ClientID %>');
    modalPopup.hide();
    

    编辑: 另一个解决方法: 1)添加一个隐藏按钮(显示:无)并将其分配给modalPE的TargetControlID 2)在btnSet客户端点击事件,做你的条件检查,如果条件满足则执行隐藏按钮点击事件(触发modalPE)

    【讨论】:

      【解决方案2】:

      您可以在后面的代码中制作:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-05
        • 2015-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多