首页  韩国资源  酷站加油  我的展厅  设计名站  古典元素  推荐下载  设计欣赏  每周专访  招募精英  人才专区  网页教程  平面设计  编程开发  设计竞赛
当前位置:首页 > 编程开发 > ASP.net教程 > Asp.Net开发技巧 > 正文
Google
介绍.Net组件开发ajax控件
来源:博客园 2007年10月16日 09:14 网友评论:0条 点击:

  2。该控件工作原理.

  该控件从webcontrol继承,并实现了INameContainer,还实现了ICallbackEventHandler接口以便获得回调支持。

  大家可以注意到,我们并没有去实现数据回发事件接口(IPostBackDataHandler),我们这里用到的是异步回调,可以不去实现此接口,

  关于此接口在后述文章中会谈到。

  按从客户端到服务端来解析工作原理

  从注册到页面上的脚本讲起:

  当然需要在客户端本中发出一个调用.

  下面的控件代码中:

string callbackScript = Page.ClientScript.GetCallbackEventReference(this, "this.value", ClientCallBackScript, null);

  前面的这条"Page.ClientScript.GetCallbackEventReference(this, "this.value", ClientCallBackScript, null);在运行时会被解析成什么样子呢?我们只要在页面运行时察看页面源码就可以看到,实际上服务器帮我们生成了下面这段 script代码:

   WebForm_DoCallback('__Page',arg,ReceiveServerData,context,null,false);

  这段代码是什么意思呢?很显然的他调用了一个系统与定义的script函数:WebForm_DoCallback。我们要把这个函数找出来看看它具体 为我们干了什么。在运行时的页面源码中,我们很容易可以找到这段脚本的出处。我们注意到有一个

<script src="/ajaxTextDemo1/WebResource.axd?d=9QMEhP1JOTWr2B3RVTrtnA2&amp;t=633255343980000000" type="text/javascript"></script>

  就是调用下图的WebForm_DoCallback

按此在新窗口浏览图片

  好的,我们说完了客户端,我就来讲讲服务端给我们做了什么

  实现ICallbackEventHandler,则会在客户端页面发现如下一代码

<script src="/ajaxTextDemo1/WebResource.axd?d=9QMEhP1JOTWr2B3RVTrtnA2&amp;t=633255343980000000" type="text/javascript"></script>

  那个ClientCallBackScript属性,非常重要,它是指向哪个js将被调用,并由GetCallbackEventReference去调用。

  如:

string callbackScript = Page.ClientScript.GetCallbackEventReference(this, "this.value", ClientCallBackScript, null);

  页面中

<txt:ajaxText runat=server ID=aj ClientCallBackScript=GetCallbackData ...

  指向正是上例中的function GetCallbackData(res)

首页 上一页 [1] [2] [3] [4] 下一页 尾页
上一篇:用C#开发.NET CF 蓝牙通信模块   下一篇:实现支付宝Payto接口的C#.net方法
收藏此页】【打印】【关闭
 相关文章  我要点评
·.Net(C#)关于变量的命名和属性
·通过ASP.NET编程进行远程杀死进程
·ASP.NET的应用程序域须知
·自由修改组件动画效果
·Ajax 的六个误区
·介绍Sandcastle 生成.NET API文档的工具
·ASP.NET最常见错误提示
·不用组件实现Ajax效果

免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络:68design#163.com
转载要求:作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印。



关于我们 | 在线反馈 | 广告报价 | 友情链接 | 联系我们 | 免责声明 | 在线投稿 | 网站地图
Copyright © 2003-2007 68design.net, All Rights Reserve 【找网页设计师,当然上网页设计师联盟】