0

我正在使用 DevExpress v10。我有一个带有 AspxPopupControl 的 ASP.NET 页面。AspxPopupControl 包含几个文本框 AspxTextBox。

我需要以下功能:当用户单击 AspxPopupControl 弹出窗口标题中的关闭按钮时,检查自弹出窗口打开以来 AspxTextBox 字段中是否发生了更改。如果有,确认“您真的要关闭窗口而不保存吗?”

我打算将其实现如下:为 AspxClientTextBox 控件处理客户端事件 ValueChanged。在这样的处理程序中,我可以设置一个标志,然后在关闭事件的客户端处理程序(AspxClientPopupControl)中分析它

但问题是:如果我更改了 AspxTextBox 中的某些内容,然后立即单击关闭按钮,Closing 事件将首先触发,ValueChanged 事件将在关闭后触发!

这不允许我做我想做的事。

这里有什么解决办法吗?

4

1 回答 1

1

该事件接收一个ASPxClientPopupWindowCancelEventArgsClosing作为参数,您可以使用它来取消关闭事件。

您可以按照以下方式做一些事情:

<dx:ASPxPopupcontrol>
    ...
    <ClientSideEvents Closing="popup_Closing" />
</dx:ASPxPopupControl>

<script type="text/javascript">

    function popup_Closing(s,e)
    {
        if (textbox1.GetText() == '' || ...) // or logic here
        {
            e.cancel = !confirm('You've empty fields. Continue anyway?');
        }
    }

</script>
于 2012-04-28T03:39:52.640 回答