DirectEvents用法

DirectEvents异步执行服务器端事件

我们首先来看一下Ext.Net DirectEvents的一个最简单用法,通过点击按钮触发服务器端的事件处理方法,并在前台弹出一个提示框。

<ext:Window runat="server" ID="win1"
    Title="Ext.Net DirectEvents"
    Width="300" Height="200">
    <Buttons>
        <ext:Button runat="server" ID="btnOK"
            Text="确定" Icon="Accept"
            OnDirectClick="btnOK_DirectClick">
        </ext:Button>
    </Buttons>
</ext:Window>

这里添加了OnDirectEvents事件,它的一个简写方式,完整的写法如下:

<ext:Button runat="server" ID="btnOK"
    Text="确定" Icon="Accept">
    <DirectEvents>
        <Click OnEvent="btnOK_DirectClick"></Click>
    </DirectEvents>
</ext:Button>

事件处理方法如下:

protected void btnOK_DirectClick(object sender, Ext.Net.DirectEventArgs e)
{
    X.MessageBox.Alert("提示", "按钮被点击").Show();
}

显示Mask遮罩层

DirectEvents是通过异步方式执行服务器端代码的,那么,我们通常会希望在执行的时候客户端显示一个遮罩层,阻止用户进行其他操作。

<ext:Button runat="server" ID="btnOK"
    Text="确定" Icon="Accept">
    <DirectEvents>
        <Click OnEvent="btnOK_DirectClick">
            <EventMask ShowMask="true" Msg="正在处理..."></EventMask>
        </Click>
    </DirectEvents>
</ext:Button>

 然后我们在服务器端事件处理方法中让程序休息一下:

protected void btnOK_DirectClick(object sender, Ext.Net.DirectEventArgs e)
{
    System.Threading.Thread.Sleep(3000);

    X.MessageBox.Alert("提示", "按钮被点击").Show();
}

这样当我们再点击按钮的时候,会看到如下

原文地址:https://www.cnblogs.com/huluobozu/p/5462222.html