我想在我的asp.net页面中使用modalpopupextender来显示子表单。但它只需要在特定条件下显示。这些条件是在一段javascript代码中确定的。
因此,最重要的是,模式弹出窗口不必在按钮单击时显示。但是,如果我将属性TargetControlID保留为空,则会出现以下异常:
'ModalPopupExtender1'的TargetControlID无效。该值不能为null或为空。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息: System.InvalidOperationException:The TargetControlID 'ModalPopupExtender1'是 无效。该值不能为null或 空。
我是否只将TargetControlID置于隐藏按钮或者是否还有更合适的选项?
答案 0 :(得分:23)
据我所知,将TargetControlID设置为隐藏按钮(display:none;)是最好的方法。
答案 1 :(得分:11)
TargetControlID也可以设置为HiddenField类型。这样你甚至不需要按钮
答案 2 :(得分:0)
克里特按钮并将其设置为TargetControlId并提供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" />