一:AjaxEvent
      Coolite Toolkit所提供的AjaxEvent可以应用在很多的控件中,实现异步提交等相关功能。比如使用在Coolite Toolkit的Button控件中,通过该控件提供的机制就可以方便的使用。

 1 <script runat="server" language="C#">
 2     protected void OnAjaxEvent_Click(object sender, AjaxEventArgs e)
 3     {
 4          
 5     }
 6 </script>
 7 <ext:Button ID="Button1" runat="server" Text="Submit">
 8     <AjaxEvents>
 9         <Click OnEvent="OnAjaxEvent_Click"></Click>
10     </AjaxEvents>
11 </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是一样的,使用非常简单,详细可参考下面的简单示例:

[AjaxMethod]
public string PageMethod()
{
    return "调用了页面后置方法:PageMethod()";
}

<ext:ScriptManager ID="ScriptManager1" runat="server">
</ext:ScriptManager>

<ext:Button ID="Button1" runat="server" Text="Submit">
    <Listeners>
        <Click Handler="RequestMethod()" />
    </Listeners>
</ext:Button>

<script type="text/javascript">
    function RequestMethod() 
    {
        Coolite.AjaxMethods.PageMethod({
            success: function(result) {
                Ext.Msg.alert('返回提示', result);
            }
        });
    }
</script>


      通过Coolite Toolkit提供的Coolie.AjaxMethods.方法名直接调用后置方法。相互之间传递数据(简单文本串,对象,JSON)支持多种格式,这点和ASP.NET AJAX是一样的。除此之外,Coolite Toolkit还提供了更强大的页面方法调用功能,就是他可以调用母版页(MasterPage)和用户自定义控件(UserControl)里的方法。如果要调用母版页的方法,则需要在对应的母版页里提供AjaxMethod方法接口,并为其通过AjaxMethodProxyIDAttribute配置代理生成策略,如所示:
[AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.None)]
public partial class MyMaster : System.Web.UI.MasterPage
{
    [AjaxMethod]
    public string PageMethod()
    {
        return "调用了母版页的后置方法:PageMethod()";
    } 
}
前台页面调用:
<%@ Page Title="" Language="C#" MasterPageFile="~/MyMaster.Master" AutoEventWireup="true" 
    CodeBehind="MasterDemo.aspx.cs" Inherits="WebApplication1.MasterDemo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<ext:ScriptManager ID="ScriptManager1" runat="server">
    </ext:ScriptManager>

<ext:Button ID="Button1" runat="server" Text="Submit">
        <Listeners>
            <Click Handler="RequestMethod()" />
        </Listeners>
    </ext:Button>

<script type="text/javascript">
        function RequestMethod() {
            Coolite.AjaxMethods.PageMethod({
                success: function(result) {
                    Ext.Msg.alert('返回提示', result);
                }
            });
        }
    </script>
</asp:Content>

如果是调用用户自定义控件里的方法,方式和母版页相差不大,不同的是UserControl需要设置别名才能成功调用。如下示例:
[AjaxMethodProxyID(IDMode = AjaxMethodProxyIDMode.Alias, Alias = "UC")]
public partial class TimeControl : System.Web.UI.UserControl
{
    [AjaxMethod]
    public string PageMethod()
    {
        return DateTime.Now.ToString();
    }
}
客户端使用别名调用如下:
<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事件,其他的我现在也还没用到,这里小记一下。以后用到了他的其他特性后在补充上来。

注:本文内容参考于官方文档和示例整理而成,只当是自己记录的一份学习笔记,供大家一起交流学习心得。
Coolite Toolkit官方网站:http://www.coolite.com/

Coolite Toolkit学习笔记一:AjaxEvent、AjaxMethod和Listeners相关推荐

  1. Coolite Toolkit学习笔记系列文章

    Coolite Toolkit 是一个支持ASP.NET AJAX的Web控件.它是基于跨浏览器的ExtJS 库开发而来的,并且简化了开发步骤,并且包含有丰富的Ajax运用,同ExtJS 一样都是开源 ...

  2. Coolite Toolkit学习笔记八:常用控件TabPanel

    TabPanel控件使用非常简单,但是功能却非常强大,它同MenuPanel.TreePanel一样提供了很多的集合属性,可以定制出丰富的应用.其中用得最多的就是他的Tabs属性,用于定义子标签选项, ...

  3. Coolite Toolkit学习笔记九:表单布局控件FormLayout与FromPanel

    FormLayout在我们平时开发中使用频率非常高,使用它可快速.方便的实现表单界面布局,以及使用一些其他控件自身的特性组合起来实现丰富强大的UI界面.下面通过一个简单示例来体验FormLayout的 ...

  4. Coolite Toolkit学习笔记五:常用控件Menu和MenuPanel

    Coolite Toolkit里的Menu控件和其他的.NET Web控件不一样,如果只是设计好了Menu或是通过程序初始化菜单项,菜单是不会呈现在界面上的,因为Coolite Toolkit规定Me ...

  5. Coolite Toolkit学习笔记六:常用控件Accordion、ToolBar、ToolTip

    一.Accordion控件      Accordion的功能非常适用,使用很简单,轻轻松松的就可以构建一个可折叠的界面展示应用效果.相信大多数做ASP.NET开发的朋友都使用过ASP.NET AJA ...

  6. Coolite Toolkit学习笔记三:基本控件之Button、TextField、DataField、ComboBox

    Button.TextField.DataField.ComBox这些控件好象也没什么好学的,任何一个学过ASP.NET的朋友都应该会使用这些控件,Coolite Toolkit里的这些控件相比标准的 ...

  7. Coolite Toolkit学习笔记四:容器控件之FiledSet、Panel和Window

    一.FieldSet控件       FieldSet控件在开发中使用率还是很高的,毕竟Web中微软没有提供Group控件,通常都是使用FieldSet来进行表单等界面布局分组.在Coolite To ...

  8. Unity UI Toolkit学习笔记-Runtime UI 案例实践

    Unity UI Toolkit学习笔记-Runtime UI

  9. Unity UI Toolkit学习笔记-EditorWindow

最新文章

  1. 2021年大数据Spark(七):应用架构基本了解
  2. 如何写一篇不水的机器学习论文?这17页指南从建模、评估到写报告,手把手教你...
  3. docker常用命令行集锦
  4. 破解IDEA2018的正确姿势
  5. 一个图片 在另一个图片定位_淋雨图片孤身一人 一个人在淋雨的图片_新闻资讯...
  6. java基础之ConcurrentHashMap
  7. 东南亚旅游安全指南【菲事件警记】
  8. bigdecimal 保留两位小数_一律使用 BigDecimal,避免后患?
  9. MySQL工作笔记-使用JPA映射mysql数据库要注意的地方
  10. android 页面icon拉伸_所有同学!注意咯!!设计师不可忽略的页面转场来咯!!...
  11. 过来人的亲身经验告诉你,如何从菜鸟晋升月薪过万的测试工程师
  12. 计算机学院女神,女神季·计算机科学与技术学院——第六期
  13. Java知识梳理——可达性分析方法原理 finalize
  14. 教师计算机培训汇报ppt,教师培训工作总结ppt模板
  15. Python:数据类型转换之将Scikit-learn的Bunch数据类型转换为Pandas的DataFrame类型案例及代码实现
  16. Tomcat启动缓慢 Creation of SecureRandom instance for ... 花费时间过长的解决方法
  17. 玉米可流转数字仓单标准的落地 将加速行业的资产数字化进程
  18. 家庭账本应该怎样记简洁明了
  19. vue 使用video加载视频进行展示,视频循环自动播放
  20. 如何做好软文推广?如何写软文才可以精准引流?

热门文章

  1. oracle date 截取年月,在Oracle中,可用于提取日期时间类型特定部分(如年、月、日、时、分、秒)的函数有那些...
  2. 发外链网站服务器瘫痪,哪些操作可以导致网站接入瘫痪 - 搜外SEO问答
  3. java 构造 super_Java中的构造方法this、super的用法详解
  4. IDEA找到所有的断点
  5. 计算机应用基础选择题综合十,计算机应用基础选择题综合复习练习题
  6. render注册一个链接组件_vue: 单文件组件 render函数
  7. python 线程安全的数据类型_详解python多线程、锁、event事件机制的简单使用
  8. 树莓派安装摄像头、耳机、话筒
  9. idea进行maven离线打包时出现Cannot access central xxxxx in offline mode
  10. jar包里java.lang.NoSuchMethodError异常,