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();//隐藏

  • 相关阅读:
    sql server 2008数据复制方法
    排错技能:任务管理器中追踪某w3wp.exe是哪个IIS站点的application pool
    SplendidCRM中给来自EditView中的listbox控件设置选中值或数据源
    jQuery String Functions
    [转]jquery getJSON 数据联动(采用序列化和反序列化获取数据) .
    [转]javascript eval函数解析json数据时为什加上圆括号eval("("+data+")")
    深入理解C语言
    Qt回忆录之配置开发环境
    360电话面试
    浅谈C++设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2212999.html
Copyright © 2011-2022 走看看