代码之家  ›  专栏  ›  技术社区  ›  Herman Cordes

使用modalpopupextender而不必设置targetcontrolid?

  •  20
  • Herman Cordes  · 技术社区  · 15 年前

    我想在我的asp.net页面中使用modalpopupextender来显示子表单。但它只需要在特定条件下表现出来。这些条件由一段javascript代码决定。

    所以,最重要的是,模式弹出不必显示在按钮点击。但是,如果将属性targetControlID保留为空,则会出现以下异常:

    “modalPopupExtender1”的targetControlID无效。值不能为空。 描述:当前Web请求执行期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源代码的详细信息。

    异常详细信息: System.InvalidOperationException:异常 目标控件ID “modalPopupextender1”是 无效。值不能为空或 空的。

    我只是有一个隐藏按钮的targetcontrolid,还是有一个更合适的选项?

    3 回复  |  直到 9 年前
        1
  •  23
  •   Mike Florian Doyen    15 年前

    据我所知,将targetControlID设置为隐藏按钮(display:none;)是最好的方法。

        2
  •  11
  •   lovingit    14 年前

    TargetControlID也可以设置为HiddenField类型。这样你甚至不需要按钮

        3
  •  0
  •   Tunaki    9 年前

    克里特岛一个按钮,并将其设置为你的目标控制ID style = "display:none"

    <asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="Panel1" TargetControlID="btnPopup" 
            CancelControlID="btnClose" BackgroundCssClass="modalBackground" OkControlID="btnClose"></asp:ModalPopupExtender>
    
    <asp:Button ID="btnPopup" runat="server" Text="PopUp" style = "display:none" />