zoukankan      html  css  js  c++  java
  • Ajax ToolKit ModelPopupExtender报错:Sys.InvalidOperationException: Handler was not added through the Sys.UI.DomE

    Sys.InvalidOperationException: Handler was not added through the Sys.UI.DomEvent.addHandler method...

    问题原因:

    如果将ModalPopupExtender的OK/Cancel 按钮,放在了弹出框的UpdatePanel内,就会报这个错

    解决办法:

    既然ModalPopupExtender不让人在UpdatePanel内放Ok/Cancel的控制按钮,那就干脆不放了,用Show()和Hide()来控制~

    即,

    view plaincopy to clipboardprint?

    1. <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="pTool" CancelControlID="btnHide" BackgroundCssClass="modalBackground" TargetControlID="HiddenField3">

    <cc1:ModalPopupExtender ID="ModalPopupExtender1" runat="server" PopupControlID="pTool" CancelControlID="btnHide" BackgroundCssClass="modalBackground" TargetControlID="HiddenField3">

    最近用ModelPopupExtender时,总是提示我有 Sys.InvalidOperationException 未通过 Sys.UI.DomEvent.addHandler 的错误,后来发现是我设置了CancellControlID,而没有设置相应的事件,我是通过在服务器端Show和Hide来控制的,这样脚本在寻找CancellControlID的时候就找不到了,就为null,在脚本中就会抛出以上错误。所以,如果我们要在服务器端控制ModelPopupExtender,不要设置ControlId就可以了!

    ModalPopupExtender的使用

    2010-01-08 10:33:17| 分类:asp.net| 标签:|字号大中小 订阅

    常用属性:
    TargetControlID:用于触发弹出面板的控件。
    OkControlID:弹出面板中的确认按钮,用于确认新的样式。
    OnOkScript:当单击确认按钮后,关闭样式面板后,执行脚本。
    CancelControlID:样式面板中的取消按钮,用于取消应用样式。
    PopupDragHandleControlID:样式面板中用于触发面板的控件。
    DropShadow:样式面板是否有阴影。值为True,则有阴影;值为False,则没有阴影。
    BackgroundCssClass:样式面板中应用的css样式。

    1、实现半透明阴影遮罩
    定义一个CSS类,并指派到BackgroundCssClass属性上

    <style type="text/css">

    .bg

    {

    position: absolute;

    z-index: 100;

    top: 0px;

    left: 0px;

    background-color: #000;

    filter: alpha(opacity=60);

    -moz-opacity: 0.6;

    opacity: 0.6;

    }

    </style>
    2、JavaScript 控制显示
    $find('Panel1').
    hide()
    $find('Panel1').
    show()
    前提是,PopupControlID和BehaviorID都要是Panel1

    3、后台控制显示

    要弹出的panel

    <asp:Panel ID="plInfo" runat="server" BorderStyle="None" Style="display: none">
    <asp:UpdatePanel ID="upnYueJian" runat="server" RenderMode="Inline">
    <ContentTemplate>
    <!--注意这个Button,ModalPopupExtender必须有一个宿主控件-->
    <asp:Button ID="btnShowPopup" runat="server" Style="display: none" />
    <cc1:ModalPopupExtender ID="popCtr" CancelControlID="qxYJ" TargetControlID="btnShowPopup"
    DropShadow="false" BackgroundCssClass="modal" PopupControlID="plInfo" runat="server">
    </cc1:ModalPopupExtender>
    <div style=" 220px; padding: 10px 0px 10px 10px; border: 1px #79144a solid;
    line-height: 20px; font-size: 13px; letter-spacing: 1px; margin: 20px 20px; background-color: #fff;
    text-align: left; background-image: url(img/hua_bg.gif); background-repeat: no-repeat;">
    <asp:Literal ID="ltrDTCode" runat="server"></asp:Literal>
    <p style="font-weight: bold; padding-top: 10px;">
    <span>
    <asp:LinkButton Text="我坚持约见" CssClass="LeeA" ID="lbtnJCYJ" CommandName="jcyj" runat="server"
    OnClick="lbtnJCYJClicklee" CommandArgument='<%# Eval("id")%>'>
    </asp:LinkButton>
    </span><span style="padding-left: 40px;">
    <asp:LinkButton Text="取消约见" runat="server" CssClass="LeeA" ID="qxYJ"></asp:LinkButton>
    </span>
    </p>
    </div>
    </ContentTemplate>
    </asp:UpdatePanel>
    </asp:Panel>
    后台:
    popCtr.Show();//显示
    popCtr.Hide();//隐藏

  • 相关阅读:
    利用模板方法模式导出Excel文件
    利用模板方法模式实现导出CSV文件功能
    抽象类多实现,省略this关键字调用实现类方法
    Spring工具类
    DateUtils工具类
    Java获取时间戳
    springMVC接受类型为Map,ajax请求参数类型为字符串将导致的请求400错误
    Set转逗号分隔字符串
    html标签中自定义属性
    编译安装MySQL
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2212999.html
Copyright © 2011-2022 走看看