繁体   English   中英

Modal PopUp-Asp.Net Ajax控件工具包

[英]Modal PopUp - Asp.Net Ajax control toolkit

我在Asp.net应用程序中使用ModalPopUp,希望当用户单击“ esc”时自动关闭它。

我使用了以下脚本:

<script language="JavaScript" type="text/javascript">

    function pageLoad() {
        $addHandler(document, 'keydown', onKeypress);
    }

    function onKeypress(args) {

        if (args.keyCode == Sys.UI.Key.esc) {

            var mdl = $find('modalExtender').hide();

        }
    }

</script>

模态扩展器的声明如下:

        <cc1:ModalPopupExtender 
            ID="modalExtender" 
            runat="server" 
            TargetControlID="btnPreview"
            PopupControlID="PreviewPanel"
            BackgroundCssClass="modalBackground"
            DropShadow="true"
            CancelControlID="btnFechar" />

当我按“ esc”键时,出现以下错误:“ Microsoft JScript运行时错误:'null'为null或不是对象”

有人遇到过同样的问题吗? 如何解决的? 先感谢您。

乔西马里·马尔塔雷利(Josimari Martarelli)

这可能适用于IE和Moozilla


document.onkeyup = KeyCheck;
功能KeyCheck(e)
{
//三元检查覆盖FF或IE
var KeyID =(window.event)? event.keyCode:e.keyCode;
如果(KeyID ='27'){
//关闭弹出窗口
var mdl = $ find('modalExtender')。hide();
}
}

您的$ find是否应该寻找控件PreviewPanel而不是扩展程序? 我相信您的$ find返回的是null,因为没有名称为modalExtender的HTML控件。

另外,您可能需要获取PreviewPanel的ClientId而不是ASP.NET控件的名称(如果我认为PreviewPanel是ASP.NET控件是正确的)。

现在正在工作,我错过了ModalPopUp的BehaviorID ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM