Ext.Net系列:二Event之DirectEvents

      笔者认为学习任何一门技术一组控件一个框架,无外乎四步走。第一步阅读官方示例,查看示例实现代码。第二步使用该技术完成一个小项目,在实现项目的具体功能时参考相似的官方示例且结合自身相似性理解和Baidu Google一下便能初步使用该技术。第三步:寻找主要使用该技术实现的开源产品并进行研究,总结其中比较优秀的思想和技术运用模式,撰写文章以此熟悉该技术。到了这一步在日常开发中便能独自使用该技术。第四步:钻研源代码,研究该技术的实现原理 。完成了这一步便是高手。

     反观自己以前的学习方式,对许多技术总是只做到了第一步,只能初步的使用该技术而不敢学熟悉精通。现在发现自己真的什么都知道什么都不精通。悲哀的过去,是该停止了,所有开始写教程和大家一起学习,希望大家支持与包容!

    Ext.Net中与Ajax交互主要是控件的各种事件,事件贯穿整个生命圈。我们开始学习Ext.Net,便从Event开始

    Event分三类:DirectEvent、DirectMethod(方法属性)和Listener。今天我们只讲DirectEvent

1、DirectEvent属性

          
属性名称 描述 默认值

After

执行该JS方法后立即响应服务器事件

方法参数:

el:触发事件的对象,

extraParams:参数对象

""

Before

响应服务器事件之前执行的JS方法

方法参数:

el:触发事件的对象,

extraParams:参数对象

type:类型 (event)

action:行为(click,dbclick)

extraParams:参数对象

""

Failure

响应服务器事件之后如果失败则执行该JS方法

方法参数:

response:响应信息对象

result: 响应结果对象

control:触发该服务器事件的对象

type:类型

action:行为

extraParams:参数对象

 

""

Success

响应服务器事件之后如果失败则执行该JS方法

方法参数:

response:响应信息对象

result: 响应结果对象

control:触发该服务器事件的对象

type:类型

action:行为

extraParams:参数对象

""

Complete

响应服务器事件后作为最后执行的标识整个响应完成的JS方法

方法参数:

success:是否成功

response:响应信息对象

result: 响应结果对象

control:触发该服务器事件的对象

type:类型

action:行为

extraParams:参数对象

""

CleanRequest

如果为True则在发送Request请求时添加额外的参数

在ExtraParams集合中

true

Delay

响应延缓时间,单位:毫秒

20

DisableCaching

如果值为true则在请求的URL上添加由

DisableCachingParam属性值作为参数名,值为当前时间time的参数

true

DisableCachingParam

启用缓存时作为URl上添加的Get参数名称。

_dc

FormId

如果不为空则使用该表单,否则使用该页面的带有runat="server"的表单,如果没有runat="server"的表单则使用当前页面的URL的配置信息submitDirectEventConfig

""

IsUpload

标识该表单是否为文件上传

false

Json

不清楚,希望知道的朋友回复!  

Method

表单Method。

Default, GET, POST, OPTIONS, HEAD, PUT, DELETE, TRACE, CONNECT

Default

Normalized

如果为false在响应事件时传递到浏览器事件处理函数对象为Ext.EventObject

false

Scope

响应的上下文对象。

指定为其他标签时可填写为 “${ID}”

this

PreventDefault

是否阻止默认的action

false

ShowWarningOnFailure

是否窗口显示错误信息

true

Single

事件是否只执行第一次并移除事件

false

Timeout

请求超时时间。单位毫秒

30000

Type

提交方式。Submit 或者是Load

Submit将提交Form表单

Load请向URL属性指定的url发生请求。如果没有制单URL属性则向当前页面发生请求

Submit

Url

发送请求的URL .如果为空则指向本页面URL

""

ViewStateMode

 

保存视图模式

继承   Inherit

禁用:Disabled

启用:Enabled

Inherit

2.DirectEvent示例

     DirectEvent一般分两种方式进行注册。第一种集中在页面ResourceManager的CustomDirectEvents下,第二种是单个注册到具体控件中

     采用第一种方式的好处是可以为多个标签注册事件,而无需在每一个需要注册事件的控件下重复实现相同事件。同时也能将事件注册到非Ext.Net控件下包括所有HTML标签

示例1:

<script runat="server"> 
        protected void UpdateTime(object sender, DirectEventArgs e) 
        { 
            X.Msg.Alert("当前时间是:", DateTime.Now.ToString("yyyy-MM-dd hh:mm:dd ss:ms")).Show(); 

        } 
    </script> 

<form id="form1" runat="server"  > 
        <!--Target 可以是标签的ID也可以是一个集合。 
          当Target是一个ID时采用Ext.get("id")获取元素当Target是一个集合时采用Ext.select("filter")获取元素 
       --> 
        <ext:ResourceManager ID="ResourceManager1" runat="server"> 
            <CustomDirectEvents> 
              <ext:DirectEvent Target="${input1}" OnEvent="UpdateTime" />                  
              <ext:DirectEvent Target="btn1" OnEvent="UpdateTime"/>  
              <ext:DirectEvent Target="${[class='showTime']}" OnEvent="UpdateTime" />  
            </CustomDirectEvents> 
        </ext:ResourceManager> 
        <ext:Button ID="btn1" runat="server" Text="点击弹出时间窗口"  /> 
        <input id="input1" type="button" value="点击弹出时间窗口" /> 
        <div> 
            <a href="#" class="showTime">超链接</a> 
            <input type="button" value="按钮" class="showTime" /> 
            <span class="showTime">span元素</span> 
        </div>
</form> 

Ext.Net系列:二Event之DirectEvent 示例1-调用事件顺序

Ext.Net系列:二Event之DirectEvent 示例2(Delay)

Ext.Net系列:二Event之DirectEvent 示例3-DisableCaching

老虞,Gopher,golang主页:http://howdo.cnblogs.com/
原文地址:https://www.cnblogs.com/howDo/p/2039685.html