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

时间:2009-07-30 02:10:09

标签: asp.net ajax

我在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

3 个答案:

答案 0 :(得分:0)

这可能适用于IE和Moozilla


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

答案 1 :(得分:0)

你的$ find不应该寻找控件PreviewPanel而不是扩展器吗?我相信你的$ find返回null,因为没有名为modalExtender的HTML控件。

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

答案 2 :(得分:0)

现在正在运行,我错过了ModalPopUp的BehaviorID ......