博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ext.Net学习笔记05:Ext.Net DirectEvents用法详解
阅读量:5934 次
发布时间:2019-06-19

本文共 2656 字,大约阅读时间需要 8 分钟。

Ext.Net通过DirectEvents进行服务器端异步的事件处理。我们在 这篇中已经简单的介绍了DirectEvents,今天我们将详细的介绍一下DirectEvents。

DirectEvents异步执行服务器端事件

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

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

> <Click OnEvent="btnOK_DirectClick"></Click> </DirectEvents

>

事件处理方法如下:

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

编译代码并刷新页面,点击按钮,我们会看到如下效果:

image

显示Mask遮罩层

上面的代码已经演示了如何使用DirectEvents执行服务器端的事件,DirectEvents是通过异步方式执行服务器端代码的,那么,我们通常会希望在执行的时候客户端显示一个遮罩层,阻止用户进行其他操作,这点Ext.Net已经为我们想到了。

<

EventMask ShowMask="true" Msg="正在处理..."></EventMask

>            

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

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

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

image

为事件添加自定义参数

Ext.Net DirectEvents 还允许我们为事件添加自定义参数。

> <ext:Parameter Name="name" Value="btnOK"></ext:Parameter> </ExtraParams

>            

在这里,我们将传给处理方法一个名称为name的参数,看一下服务器端的处理:

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

string btnName = e.ExtraParams["name"

];    X.MessageBox.Alert("提示", btnName + "被点击").Show();}

在服务器端,我们通过e.ExtraParams来访问这些参数。

处理服务器返回的数据

Ext.Net DirectEvents 可以通过添加一个客户端回调方法来处理服务器返回的数据。

在配置中添加一个success配置,表示在执行成功以后调用fnSuccess方法,fnSuccess方法的定义如下:

function fnSuccess(response, result) {    alert(result.extraParamsResponse.data);}

接下来看看服务器端如何返回数据的:

protected void btnOK_DirectClick(object sender, Ext.Net.DirectEventArgs e){    //System.Threading.Thread.Sleep(3000);    //string btnName = e.ExtraParams["name"];    //X.MessageBox.Alert("提示", btnName + "被点击").Show();    e.ExtraParamsResponse.Add(new Ext.Net.Parameter("data", "abc"));}

通过这样的处理,我们就可以从服务器返回数据,并在客户端通过js代码进行处理了。

confirmation配置

confirmation配置是用来在触发事件之前进行提示,有用户决定是否提交服务器进行处理的。

它的用法很简单,却很实用。

<

Confirmation ConfirmRequest

="true"

Title="提示" Message

="确定要提交服务器吗?">                        

不需要进行多余的代码处理,只要这两行配置就可以完成在出发时间前进行提醒:

image

本文转自齐师傅博客园博客,原文链接:http://www.cnblogs.com/youring2/p/3551472.html,如需转载请自行联系原作者
你可能感兴趣的文章
20170808 - 跨浏览器的事件兼容处理程序
查看>>
JavaScript this 从此不再疑惑
查看>>
【阅读笔记】Web安全深度剖析
查看>>
微信小程序中使用emoji表情相关
查看>>
浏览器端Event loop简介
查看>>
在 Node.js 中用 pipe 处理数组的实现
查看>>
Web开发中常见的认证机制
查看>>
[译] 设计一个现代的缓存
查看>>
nodejs微信公众号开发——0.起手式
查看>>
Learn Spring - Spring DAO
查看>>
移动APP测试之安全性测试策略分析
查看>>
解读 2018 之运维篇:我们离高效智能的运维还有多远
查看>>
深入redux技术栈
查看>>
Scrum Guides 2017年最新修改
查看>>
Java永久代去哪儿了
查看>>
Microsoft将持续交付功能添加到Visual Studio、Azure
查看>>
为什么你写的代码糟透了?
查看>>
数字时代的精益组织
查看>>
Visual Studio 15.6第四个预览版进一步打造F#功能
查看>>
AppsFlyer将API网关服务从Clojure迁移到Golang
查看>>