AjaxEvent、AjaxMethod和Listeners的区别
2010-07-30 10:23
232 查看
一:AjaxEvent
Coolite Toolkit所提供的AjaxEvent可以应用在很多的控件中,实现异步提交等相关功能。比如使用在Coolite Toolkit的Button控件中,通过该控件提供的机制就可以方便的使用。
如果需要使用在标准控件或是其他的html标签元素上,则需要通过Coolite Toolkit所提供的ScriptManager来实现了,下面简单演示将AjaxEvent使用在官方的Button控件上。
通过上面这种方式,可以把AjaxEvent添加到任何的html元素上(比如:input,div,p,span等等)。
二:AjaxMethod
Coolite Toolkit所提供的AjaxMethod功能和ASP.NET AJAX的PageMethod是一样的,使用非常简单,详细可参考下面的简单示例:
前台页面调用:(前台的方法与之前用的方法一样,不同的是后台)
客户端使用别名调用如下:(注意:在Hander中Coolite.AjaxMethods后面必须与前台的Alias的值相同)
三:Listeners
Listeners在本文前面就用到过,通过Listeners给Ext按扭添加了一个客户端方法Handler,用得多的也就是他的Click事件,其他的我现在也还没用到,这里小记一下。以后用到了他的其他特性后在补充上来。
Coolite Toolkit所提供的AjaxEvent可以应用在很多的控件中,实现异步提交等相关功能。比如使用在Coolite Toolkit的Button控件中,通过该控件提供的机制就可以方便的使用。
<script runat="server" language="C#"> protected void OnAjaxEvent_Click(object sender, AjaxEventArgs e) { } </script> <ext:Button ID="Button1" runat="server" Text="Submit"> <AjaxEvents> <Click OnEvent="OnAjaxEvent_Click"></Click> </AjaxEvents> </ext:Button>
如果需要使用在标准控件或是其他的html标签元素上,则需要通过Coolite Toolkit所提供的ScriptManager来实现了,下面简单演示将AjaxEvent使用在官方的Button控件上。
<ext:ScriptManager ID="ScriptManager1" runat="server"> <CustomAjaxEvents> <ext:AjaxEvent Target="myButton" OnEvent="OnAjaxEvent_Click"> <EventMask ShowMask="true" MinDelay="500" Msg="正在处理" /> </ext:AjaxEvent> </CustomAjaxEvents> </ext:ScriptManager> <script runat="server" language="C#"> protected void OnAjaxEvent_Click(object sender, AjaxEventArgs e) { } </script> <asp:Button ID="myButton" runat="server" Text="点我" />
通过上面这种方式,可以把AjaxEvent添加到任何的html元素上(比如:input,div,p,span等等)。
二:AjaxMethod
Coolite Toolkit所提供的AjaxMethod功能和ASP.NET AJAX的PageMethod是一样的,使用非常简单,详细可参考下面的简单示例:
public string PageMethod() { return "调用了页面后置方法:PageMethod()"] 通过Coolite Toolkit提供的Coolie.AjaxMethods.方法名直接调用后置方法。相互之间传递数据(简单文本串,对象,JSON)支持多种格式,这点和ASP.NET AJAX是一样的。除此之外,Coolite Toolkit还提供了更强大的页面方法调用功能,就是他可以调用母版页(MasterPage)和用户自定义控件(UserControl)里的方法。如果要调用母版页的方法,则需要在对应的母版页里提供AjaxMethod方法接口,并为其通过AjaxMethodProxyIDAttribute配置代理生成策略,如所示:(调用母板页例子) 后台代码:(注意特别加上AjaxMethodProxyID,否则无效) [AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.None)] public partial class MyMaster : System.Web.UI.MasterPage { [AjaxMethod] public string PageMethod() { return "调用了母版页的后置方法:PageMethod()"; } }
前台页面调用:(前台的方法与之前用的方法一样,不同的是后台)
如果是调用用户自定义控件里的方法,方式和母版页相差不大,不同的是UserControl需要设置别名才能成功调用。如下示例: [AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.Alias, Alias = "UC")] public partial class TimeControl : System.Web.UI.UserControl { [AjaxMethod] public string PageMethod() { return DateTime.Now.ToString(); } }
客户端使用别名调用如下:(注意:在Hander中Coolite.AjaxMethods后面必须与前台的Alias的值相同)
//注册用户控件 <uc1:TimeControl ID="TimeControl1" runat="server" /> <ext:Button ID="btnUserControl" runat="server" Text="调用UserControl的方法"> <Listeners> <Click Handler="Coolite.AjaxMethods.UC.PageMethod( { success:function(result) { Ext.Msg.alert(result); } });" /> </Listeners> </ext:Button>
三:Listeners
Listeners在本文前面就用到过,通过Listeners给Ext按扭添加了一个客户端方法Handler,用得多的也就是他的Click事件,其他的我现在也还没用到,这里小记一下。以后用到了他的其他特性后在补充上来。
相关文章推荐
- AjaxEvent、AjaxMethod和Listeners的区别
- Coolite新手教程一AjaxEvent、AjaxMethod和Listeners
- Coolite: AjaxEvent、AjaxMethod和Listeners 区别
- Coolite AjaxEvents、Listeners区别
- Coolite教程之一:AjaxEvent、AjaxMethod和Listeners
- Coolite新手教程一:AjaxEvent、AjaxMethod和Listeners
- Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners
- Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners 推荐
- Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners
- Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners
- ajax open method
- AJAX提交与FORM提交的区别说明
- asp.net mvc4 使用java异步提交form表单时出现[object object] has no method ajaxSubmit
- JQuery中$.get(),$.post(),$.ajax(),$.getJSON()的区别
- Vue中method与computed的区别
- ajax中get和post的说明及使用与区别
- AJAX中的请求方式以及同步异步的区别
- Extjs4新发现02_event和method的区别配置项(Config Options)和属性(Public Properties)的区别
- 【Spring源码】从源码实现的角度解析spring的InitializingBean的afterPropertiesSet方法和init-method区别和应用
- AJAX提交与FORM提交的区别