中国设计联盟
联网
平面设计 画册 VI欣赏 包装 CG-插画 搜索 个人网页 Alexa排名 CSS 建站资源 下载专区 JS特效 品牌服装 服装院校 专题欣赏 SEO 图标欣赏 专题
网站建设 域名注册 网站建设 虚拟主机 广州网站设计 域名注册 广州网站建设 上海网站建设 虚拟主机 广州网页设计  虚拟主机 域名注册 acg王国 ACG玩家
求创科技
网站建设
中国福网
中国互联
艺魂宝库网
时代网
招聘求职
中资源
当前位置:网络学院首页 >> 编程开发 >> .net >> ASP.NET的Ajax应用开发方法

ASP.NET的Ajax应用开发方法 (2)

来源:中国设计秀    作者:    点击:113     加入收藏    发表评论
0
顶一下

  以数据为中心与以脚本为中心相反的做法就是,服务器端连HTML也不生成了,直接将数据发送至客户端,让客户端承担数据处理并生成对应HTML的工作。由于传输的是纯粹的数据,因此这被称之为以数据为中心的Ajax.说到传输数据,我们面临的选择是数据格式,例如XML与JSON.XML固然好,因为。NET内置了众多的XML支持,并且。NET Web Service本身也就是使用XML的。然而客户端解释XML是一件很麻烦的事情,浏览器的DOM API提供的操作都非常有限,开发复杂应用2 使用ASP.NET Futures开发以客户端为中心的Ajax应用在使用ASP.NET Futures开发之前,我们首先要知道它是怎么工作的,以及它为我们提供了哪些基础部件以便于我们的开发。ASP.NET Futures提供的客户端模型首先,ASP.NET AJAX/Futures在客户端为我们提供了一种类似于服务器端的控件机制。你可以将一个<input type=“text” />初始化为一个Sys.UI.TextBox,然后它就如同服务器端的TextBox一样易于使用。
 
  然后,ASP.NET Futures还提供了一种叫做Behavior的东东。什么是Behavior呢?你可以简单地认为Behavior就是一组事件、方法与对象的集合,这个集合是基于交互逻辑而聚合的,而非基于对象性质。例如现在有一个TextBox,你希望在其中输入前几个字母之后,TextBox会弹出下拉框提供若干可能的输入选项给你选择,也就是我们通常所说的AutoComplete(自动完成)。那么在这里AutoComplete就可以是一个Behavior,它包括对TextBox输入事件的相应,包括显示下拉,可能好包括通过Web Service查询可提供的选项,这些逻辑原本的耦合度不高,不应该聚合成为Control,但是它们在一个特定的交互操作中聚合在一次,因此就应该将它们定义为一个Behavior.另外,ASP.NET Futures还提供了一种比Event更高层次的事件机制,称之为Action.我们现在能看到一些服务器端控件包含一些成对出现的数据操作时间,例如Updating/Updated、Inserting/Inserted、Deleting/Deleted,之所以要这样设计是为了向开发人员提供一个更灵活的接口,允许开发人员在特定的事件之前以及之后进行自己的逻辑调用。例如Update操作吧,其实这对于数据控件来说是一个事件,然而对外暴露则成了Updating/Updated两个事件,这就增加了事件的数量。Action的引入正是为了解决这个问题,在向一个Action添加事件处理函数时就可以声明这个函数是在Action前调用还是在Action后调用。有些Action是仅被执行一次的,只有已执行和未执行这两种状态,添加事件处理函数时可以声明如果Action被执行过了事件马上被触发。Action机制的引入都大大简化了复杂对象的事件模型。
 
  ASP.NET Futures值得一提的强大功能还有Binding.这名字听起来与服务器端的数据绑定有点关系,实际上也正是这样。    Binding可以绑定任意两个对象的属性(注意是ASP.NET AJAX/Futures引入的属性概念而不是成员变量),这种绑定可以单向的也可以是双向的,而且绑定支持Transform.什么是Transform呢?例如你提供一个下拉列表提供用户选择罗马数字的i、ii、iii、iv、v、vi……然后这个下拉选择的值要绑定到一个对象的属性上,该属性是一个Number,那么你就可以设计一个Transform将String的罗马数字和它实际代表的Number值对应起来,之后Binding就能自动完成这个绑定,无论何时你访问此对象属性,你得到的都是用户选择的罗马数字对应的数值。
 
  最后需要了解的是,ASP.NET Futures还引入了Drag and Drop与Animation的支持。前者为页面上的拖放操作提供了一个低层框架;后者类似于基于Prototype的Scriptaculous库的Effect,提供了丰富的HTML元素动画效果。
 
[1] [2] [3]
2007-09-13 16:27:00    出处:
Google
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明 | 网站公告 | 友情链接 | 留言 | 旧版入口