防止在onClose客户端事件中关闭telerik窗口

时间:2012-07-19 19:06:05

标签: asp.net-mvc events telerik window

当用户尝试通过单击右上角的“X”关闭窗口时,我会尝试显示确认对话框。如果用户选择“确定”选项,我想继续关闭窗口,但如果用户按下“取消”按钮,我想阻止窗口关闭。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

Razor:

@(Html.Telerik().Window()
    .Name("Window")
    .ClientEvents(events =>
        .OnClose("preventClose")))

<script type="text/javascript">
    function preventClose(e)
    {
        var shouldClose = confirm("Are you sure you want to close?");

        if (!shouldClose)
        {
            e.preventDefault();
        }
    }
</script>

经过测试和工作。请注意,当他们点击X或调用$("#Window").data("tWindow").close();时调用此函数,因此除非您进行了一些验证检查,否则我将证明您将无法关闭窗口。我没有办法区分点击X和手动调用$(window).close()

答案 1 :(得分:0)

我能够自己找出解决问题的方法:

如果您在e.preventDefualt();事件中执行onClose,则会阻止窗口关闭。文档中提到onClose事件可取消,但它没有说明如何取消onclose事件。