Ext.Net学习笔记05:Ext.Net DirectEvents用法详解
Ext.Net通过DirectEvents进行服务器端异步的事件处理。我们在 Ext.Net用法概览 这篇中已经简单的介绍了DirectEvents,今天我们将详细的介绍一下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执行服务器端的事件,DirectEvents是通过异步方式执行服务器端代码的,那么,我们通常会希望在执行的时候客户端显示一个遮罩层,阻止用户进行其他操作,这点Ext.Net已经为我们想到了。
<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();
}
这样当我们再点击按钮的时候,会看到如下效果:
为事件添加自定义参数
Ext.Net DirectEvents 还允许我们为事件添加自定义参数。
<ext:Button runat="server" ID="btnOK"
Text="确定" Icon="Accept">
<DirectEvents>
<Click OnEvent="btnOK_DirectClick">
<EventMask ShowMask="true" Msg="正在处理..."></EventMask>
<ExtraParams
> <ext:Parameter Name="name" Value="btnOK"></ext:Parameter> </ExtraParams
>
</Click>
</DirectEvents>
</ext:Button>
在这里,我们将传给处理方法一个名称为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 可以通过添加一个客户端回调方法来处理服务器返回的数据。
<ext:Button runat="server" ID="btnOK"
Text="确定" Icon="Accept">
<DirectEvents>
<Click OnEvent="btnOK_DirectClick" Success="fnSuccess">
<EventMask ShowMask="true" Msg="正在处理..."></EventMask>
<ExtraParams>
<ext:Parameter Name="name" Value="btnOK"></ext:Parameter>
</ExtraParams>
</Click>
</DirectEvents>
</ext:Button>
在配置中添加一个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配置是用来在触发事件之前进行提示,有用户决定是否提交服务器进行处理的。
它的用法很简单,却很实用。
<ext:Button runat="server" ID="btnOK"
Text="确定" Icon="Accept">
<DirectEvents>
<Click OnEvent="btnOK_DirectClick" Success="fnSuccess">
<EventMask ShowMask="true" Msg="正在处理..."></EventMask>
<ExtraParams>
<ext:Parameter Name="name" Value="btnOK"></ext:Parameter>
</ExtraParams>
<
Confirmation ConfirmRequest
="true"
Title="提示" Message
="确定要提交服务器吗?">
</Confirmation>
</Click>
</DirectEvents>
</ext:Button>
Ext.Net学习笔记05:Ext.Net DirectEvents用法详解的更多相关文章
- 【Ext.Net学习笔记】03:Ext.Net DirectEvents用法详解、DirectMethods用法详解
Ext.Net通过DirectEvents进行服务器端异步的事件处理.[Ext.Net学习笔记]02:Ext.Net用法概览.Ext.Net MessageBus用法.Ext.Net布局 中已经简单的 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- (转)live555学习笔记10-h264 RTP传输详解(2)
参考: 1,live555学习笔记10-h264 RTP传输详解(2) http://blog.csdn.net/niu_gao/article/details/6936108 2,H264 sps ...
- 学习笔记--Grunt、安装、图文详解
学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...
- SNMP学习笔记之SNMP 原理与实战详解
原文地址:http://freeloda.blog.51cto.com/2033581/1306743 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法 ...
- JQuery学习笔记系列(一)----选择器详解
笔者好长时间没有更新过博客园的笔记了,一部分原因是去年刚刚开始工作一段时间忙碌的加班,体会了一种每天加班到凌晨的充实感,之后闲暇时间了也因为自己懒惰没有坚持记笔记的习惯,现在重新拾起来. 借用古人的一 ...
- 【Java学习笔记之三十四】超详解Java多线程基础
前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧. 正文 线程与进程 1 线程:进程中负责程序执行的 ...
- HTML5学习笔记(九):选择器详解
在前面的笔记中我们已经接触过几种常见的选择器,本笔记我们将深入了解CSS的选择器. 元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器.在 W3C 标准中,元素选 ...
- iOS5 ARC学习笔记:strong、weak等详解
2013-03-25 13:41 佚名 oschina 字号:T | T iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存.但是学习还是很有必要的.现在我们看看iOS5 ...
随机推荐
- SQL经典题
1触发器的作用? 答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性, 可以跟踪数据库内的操作从而不允许未经许可的更新和变化.可以联级运算 ...
- 【CSS3】Advanced8:CSS Backgrounds: Multiples, Size, and Origin
1.Multiples,Size,and Origin eg:background-image:url(bg.png),url(bullet.png) 0 50% no-repeat,url(arro ...
- jQuery技术内幕电子版5
4. 转换HTML代码为DOM元素 先创建一个文档片段DocumentFragment,然后调用方法jQuery.clean(elems, context, frag-ment, scripts)将H ...
- 从java程序员到CTO的成长路线图
很多新人不知道从事java开发,具体的发展路径是怎么样的,甚至很多人都不能区分程序猿和攻城师的区别.包括不少小白,从事java开发都半年,甚至1年了,对职业发展还没有清晰的认证.这非常不利于自己的发展 ...
- 教程-Delphi7 自带控件安装对应表
原来的控件delphi7里何处寻? 经常有朋友提这样的问题,“我原来在delphi5或者delphi6中用的很熟的控件到哪里去了?是不是在delphi7中没有了呢?这是不是意味着我以前写的代码全都不能 ...
- hdoj 4183 Pahom on Water
Pahom on Water Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- nyoj 1022 最少步数【优先队列+广搜】
最少步数 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 ...
- sql server smo
在SQL Server2005以前的版本中,SQL分布式管理对象(SQL-DMO)为我们提供了非常有效的方法来通过编程的方式管理SQL Server.SQL-DMO支持基于COM的接口,开发人员可以通 ...
- 【Android - 进阶】之自定义视图浅析
1 概述 Android自定义View / ViewGroup的步骤大致如下: 1) 自定义属性: 2) 选择和设置构造方法: 3) 重写onMeasure()方法: 4) 重写onDra ...
- C++编译器函数模版机制剖析 - 函数模版的本质
思考:为什么函数模板能够和函数重载放在一块.C++编译器是怎样提供函数模板机制的? demo 1 #include <cstdio> #include <iostream> u ...