词条 | ASP.NETAJAX程序设计(客户端) |
释义 | 该书从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。 书名:ASP.NETAJAX程序设计(第II卷)客户端MICROSOFTAJAXLIBRARY与异步通 作者:陈黎夫 ISBN:9787115165404 类别:程序设计 定价:55.00 元 出版社:人民邮电出版社 出版时间:2007 装帧:平装 开本:16开 字数:620000 内容简介本书系统介绍ASP.NETAjax程序设计知识,共3卷。本卷从最易于理解和使用的那部分入手,介绍ASP.NETAJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NETAJAXExtensions与ASP.NETAJAXControlToolkit。这部分内容不需要读者有任何的客户端开发知识,只要在VisualStuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET2.0应用程序添加少量的Ajax特性,或是基于ASP.NET2.0的一些简单Ajax功能的实现。 本卷适合对ASP.NETAJAX有兴趣,并希望对其有更进一步了解的Web开发人员阅读。 作者简介陈黎夫(DflyingChen)微软公司Atlas创始团队——WindowsLiveHotmail的软件开发工程师,曾使用Atlas参与开发下一代Email系统WindowsLiveMail以及WindowsLiveCalendar等产品,擅长Web相关技术,有着近8年的Web开发经验。作为Atlas在中国的传道者之一,他在个人博客中写过大量的Atlas技术文章,并引起了广泛反响。 目录第0章 客户端与服务器端编程模型0.1 将表示层完全放到客户端 2 0.1.1 传统的ASP.NET编程模型 2 0.1.2 ASP.NET AJAX服务器端编程模型 2 0.1.3 ASP.NET AJAX客户端编程模型 3 0.2 将表示层完全放到客户端的优势 4 第一部分 ASP.NET AJAX 1.0核心第1章 ASP.NET AJAX对JavaScript的扩展 1.1 基本类型扩展 8 1.1.1 Array类型的扩展 8 1.1.2 Boolean类型的扩展 10 1.1.3 Date类型的扩展 10 1.1.4 Error类型的扩展 11 1.1.5 Number类型的扩展 13 1.1.6 Object类型的扩展 14 1.1.7 String类型的扩展 14 1.2 面向对象支持 15 1.2.1 声明命名空间 16 1.2.2 定义类 16 1.2.3 实现继承 17 1.2.4 重写父类的方法 17 1.2.5 定义接口与实现接口 18 1.2.6 定义枚举类型 19 1.2.7 反射的支持 20 1.3 组件扩展 21 1.3.1 Sys.Component基类 22 1.3.2 Sys.UI.Control基类 24 1.3.3 Behavior基类 25 1.4 增强的DOM操作 25 1.4.1 DomElement类 25 1.4.2 DomEvent类 27 1.4.3 Sys.UI命名空间中的其他扩展 28 1.5 其他常用扩展 29 1.5.1 使用Sys.StringBuilder类高效地操作字符串 29 1.5.2 使用Sys.Debug类输出调试信息 30 1.6 ASP.NET AJAX框架下的客户端Web应用程序 32 1.7 小结 37 第2章 异步通信层 39 2.1 异步通信层的功能 40 2.2 异步通信层的架构 40 2.2.1 客户端架构 41 2.2.2 服务器端架构 44 2.3 常用类型介绍 45 2.3.1 客户端类型 46 2.3.2 服务器端类型 46 2.4 客户端Sys.Net.WebRequest组件 46 2.5 示例程序:使用客户端Sys.Net.Web Request组件实现异步通信 47 2.5.1 页面基础设施 48 2.5.2 使用POST方式请求服务器 49 2.5.3 使用GET方式请求服务器 50 2.5.4 运行示例程序 51 2.6 小结 53 第3章 异步调用Web Service和页面中的类方法 54 3.1 调用Web Service 54 3.2 调用页面中的类方法 59 3.3 处理异步调用中的异常 61 3.4 保持用户上下文 65 3.5 异步通信层生成的客户端代理类 67 3.6 使用HTTP GET进行调用 71 3.7 服务器端和客户端数据类型的自动转换 72 3.7.1 基本类型 73 3.7.2 枚举类型 74 3.7.3 复杂类型 77 3.7.4 泛型集合类型 84 3.7.5 数组类型 88 3.7.6 DataTable和DataSet 91 3.8 以XML方式序列化数据 96 3.9 小结 100 第4章 客户端页面生存周期 102 4.1 维护客户端应用程序的Application对象 102 4.1.1 客户端应用程序事件 103 4.1.2 维护客户端应用程序中的组件 106 4.1.3 通知脚本加载完成 106 4.1.4 延迟加载脚本 107 4.2 示例程序:维护客户端组件 108 4.2.1 编写自定义Clock组件 108 4.2.2 在应用程序中添加Clock组件 110 4.2.3 取得程序中现存组件的信息 111 4.2.4 查找并移除Clock组件 112 4.3 管理异步回送过程的PageRequestManager对象 113 4.3.1 PageRequestManager对象的事件 114 4.3.2 PageRequestManager对象的属性和方法 118 4.4 客户端页面生存周期总结 118 4.4.1 典型的客户端页面生存周期 119 4.4.2 示例程序:客户端事件的触发顺序 120 4.4.3 常见场景下的客户端页面生存周期 123 4.5 示例程序:防止用户多次提交 125 4.6 示例程序:停止正在执行的异步回送 129 4.7 示例程序:在进行异步回送时给用户充分提示 132 4.8 示例程序:处理异步回送时发生的异常 134 4.9 示例程序:管理多个异步回送的优先级 138 4.10 示例程序:在异步回送中捎带数据 141 4.11 小结 146 第5章 应用程序服务和本地化 148 5.1 身份验证组件:AuthenticationService 148 5.1.1 login()方法 149 5.1.2 logout()方法 150 5.1.3 常用属性 151 5.2 示例程序:实现用户登录和注销 152 5.2.1 启用身份验证应用程序服务 152 5.2.2 配置Membership数据库并创建用户 153 5.2.3 创建受保护的目录 155 5.2.4 示例程序的UI部分 155 5.2.5 示例程序的JavaScript代码部分 157 5.2.6 运行示例程序 159 5.3 用户个性化组件:ProfileService 160 5.3.1 load()方法 161 5.3.2 save()方法 162 5.3.3 properties字段 163 5.3.4 常用属性 164 5.4 示例程序:读取、修改并保存用户个性化信息 165 5.4.1 启用用户个性化应用程序服务 165 5.4.2 示例程序的UI部分 166 5.4.3 示例程序的JavaScript代码部分 167 5.4.4 运行示例程序 170 5.5 自定义应用程序服务的服务器端实现 171 5.5.1 自定义身份验证Web Service 171 5.5.2 自定义用户个性化Web Service 172 5.6 创建支持多语言的ASP.NET AJAX站点 174 5.6.1 让ASP.NET页面支持多语言 174 5.6.2 创建支持本地化的JavaScript脚本文件 175 5.6.3 使用ScriptManager将多语言脚本文件引入到页面中 177 5.6.4 根据用户区域设定自动选择站点语言 178 5.6.5 让用户手工选择站点语言 180 5.7 小结 181 第二部分 ASP.NET AJAX Futures CTP第6章 客户端组件、XML脚本语言与绑定 184 6.1 与服务器端组件媲美的客户端组件 184 6.1.1 客户端组件的基本概念 185 6.1.2 客户端组件分类 186 6.2 一种新的编程模型——ASP.NET AJAX XML脚本 188 6.2.1 使用JavaScript以编程方式实现 189 6.2.2 使用ASP.NET AJAX XML脚本以声明方式实现 191 6.2.3 混合使用JavaScript和ASP.NET AJAX XML脚本 192 6.3 面向组件的编程思维 194 6.4 绑定——组件之间的黏合剂 195 6.4.1 初识绑定:简单的示例程序 196 6.4.2 绑定详解 197 6.5 在绑定中使用转换器 200 6.6 示例程序:使用ASP.NET AJAX XML脚本和ASP.NET AJAX客户端组件实现搜索 202 6.6.1 创建提供搜索服务的Web Service 203 6.6.2 编写页面的HTML部分 205 6.6.3 编写页面的ASP.NET AJAX脚本代码部分 206 6.6.4 运行示例程序 209 6.7 小结 209 第7章 简单客户端控件/组件 211 7.1 基本UI控件 211 7.1.1 封装了DOM元素的UI控件 212 7.1.2 InputControl和TextBox控件 214 7.1.3 Button控件 214 7.1.4 CheckBox控件 216 7.1.5 Label控件 216 7.1.6 HyperLink控件 216 7.1.7 Selector控件 217 7.1.8 Image控件 218 7.1.9 使用基本UI控件 218 7.2 使用动作组件响应事件 224 7.2.1 Action基类介绍 225 7.2.2 使用SetPropertyAction动作设置组件的属性 225 7.2.3 使用InvokeMethodAction动作调用组件的方法 226 7.2.4 使用PostBackAction动作模拟回送操作 228 7.2.5 在JavaScript中以编程方式使用动作组件 229 7.2.6 示例程序:控制页面内容的字号 230 7.3 使用验证器组件验证输入 234 7.3.1 Validator基类、ValidationErrorLabel控件以及验证过程 235 7.3.2 使用RequiredFieldValidator验证器确保存在输入 237 7.3.3 使用TypeValidator验证器确保输入值为特定类型 238 7.3.4 使用RangeValidator验证器确保输入值的范围 238 7.3.5 使用RegexValidator验证器用正则表达式验证输入 239 7.3.6 使用CustomValidator验证器自定义验证流程 239 7.3.7 使用ValidationGroup组合多个验证器 240 7.3.8 在JavaScript中以编程方式使用验证器 241 7.3.9 示例程序:验证输入表单 242 7.4 使用行为组件增强用户界面的功能 246 7.4.1 使用ClickBehavior为DOM元素添加click事件 248 7.4.2 使用OpacityBehavior控制DOM元素的不透明度 249 7.4.3 使用LayoutBehavior设定DOM元素的位置 251 7.4.4 在JavaScript中以编程方式使用行为组件 252 7.4.5 在行为组件中使用绑定 253 7.5 使用动画组件实现动画效果 255 7.5.1 Animation基类介绍 256 7.5.2 使用FadeAnimation动画组件实现淡入淡出效果 257 7.5.3 离散属性动画组件 259 7.5.4 示例程序:使用DiscreteAnimation动画组件实现抽奖功能 260 7.5.5 连续属性动画组件 262 7.5.6 组合动画组件 265 7.6 客户端的计数器——Counter组件 267 7.6.1 Counter组件介绍 267 7.6.2 示例程序 268 7.7 使用Timer组件在客户端定时触发事件 269 7.7.1 Timer组件介绍 269 7.7.2 示例程序:定时查询服务器获得最新信息 269 7.8 小结 271 第8章 数据源组件和数据绑定UI控件 273 8.1 组件化的数据访问模型 273 8.2 为数据绑定UI控件提供数据 275 8.2.1 服务器端DataService类 275 8.2.2 完善的客户端DataTable对象 278 8.2.3 客户端DataSource数据源 279 8.2.4 客户端XMLDataSource数据源 281 8.2.5 客户端数据的修饰者--DataView 281 8.3 使用ListView控件显示列表数据 282 8.3.1 DataControl控件介绍 282 8.3.2 ListView控件介绍 283 8.3.3 示例程序 284 8.3.4 补充说明 290 8.4 使用DataNavigator控件实现客户端分页导航 290 8.4.1 DataNavigator控件介绍 291 8.4.2 示例程序 291 8.5 使用DataFilter组件在客户端过滤数据 295 8.5.1 DataFilter和PropertyFilter组件介绍 296 8.5.2 示例程序 296 8.6 使用SortBehavior行为实现客户端排序 299 8.6.1 SortBehavior行为介绍 299 8.6.2 示例程序 300 8.7 使用ItemView控件维护集合中的单个条目 304 8.7.1 ItemView控件介绍 304 8.7.2 示例程序 304 8.8 使用XSLTView控件用XSLT修饰并显示XML数据 313 8.8.1 XSLTView控件介绍 313 8.8.2 示例程序 314 8.9 小结 316 第9章 实现客户端拖放效果 318 9.1 客户端拖放功能框架 318 9.1.1 DragDropManager对象 320 9.1.2 IDragSource接口 320 9.1.3 IDropTarget接口 321 9.1.4 创建可拖放的客户端应用程序 322 9.2 使用DragDropList实现可拖放列表 322 9.2.1 DragDropList行为和DraggableListItem行为 322 9.2.2 示例程序:仿Google个性化主页 323 9.3 示例程序:实现IDragSource和IDropTarget接口将商品拖放至购物车中 329 9.3.1 示例程序功能 329 9.3.2 编写服务器端Web Service 331 9.3.3 编写DraggableProduct-Behavior实现可拖动的商品 333 9.3.4 编写ShoppingCartBehavior实现可接受商品投放的购物车 335 9.3.5 编写页面代码 338 9.3.6 通过Web Service取得商品并显示在页面中 339 9.3.7 将购物车中的商品提交回Web Service处理 340 9.4 ASP.NET AJAX中拖放功能实现方式总结 340 9.4.1 使用服务器端DragOverlay-Extender或客户端Drag-OverlayBehavior 341 9.4.2 使用服务器端DragPanel扩展器控件 342 9.4.3 使用服务器端ReorderList控件 343 9.4.4 使用UpdatePanel与ASP.NET AJAX带来的新版本WebPart控件 343 9.4.5 使用客户端DragDropList行为 344 9.4.6 自定义实现客户端IDragSource和IDropTarget接口 345 9.4.7 各种拖放实现方法的比较 346 9.5 小结 346 第10章 通过Web Service桥调用远程 Web Service 347 10.1 以用户为本的Mashup理念 347 10.2 在客户端调用其他主机上的Web Service 349 10.2.1 力不从心的JavaScript 349 10.2.2 “曲线救国”的本地服务器代理 351 10.2.3 更进一步的Web Service桥 352 10.2.4 在ASP.NET AJAX中启用Web Service桥 353 10.3 简单的Web Service桥示例 354 10.3.1 模拟一个远程Web Service 354 10.3.2 编写本地Web Service桥 355 10.3.3 通过Web Service桥间接调用远程Web Service 356 10.3.4 运行示例程序 357 10.4 示例程序:调用Yahoo! Weather服务 358 10.4.1 熟悉Yahoo! Weather服务 358 10.4.2 编写本地Web Service桥 361 10.4.3 通过Web Service桥间接调用Yahoo! Weather服务 363 10.4.4 运行示例程序 364 10.5 示例程序:调用Google Search服务 365 10.5.1 熟悉Google Search服务 365 10.5.2 编写本地Web Service桥 365 10.5.3 通过Web Service桥间接调用Google Search服务 369 10.5.4 运行示例程序 370 10.6 小结 371 第三部分 实例程序第11章 实例程序:RSS阅读器 374 11.1 RSS阅读器的功能 374 11.2 数据:编写服务器端Web Service 377 11.2.1 表示提要中摘要信息的RssEntry类 377 11.2.2 表示提要中内容条目的ContentEntry类 379 11.2.3 使用RSS.NET类库辅助解析提要 380 11.2.4 声明Web Service类 381 11.2.5 获取当前所有的提要 381 11.2.6 添加新提要 382 11.2.7 返回指定提要中的内容条目 382 11.2.8 测试Web Service 383 11.3 表现:设计界面 384 11.3.1 导航栏 384 11.3.2 内容栏 385 11.3.3 更新提示面板 385 11.3.4 完整的HTML代码 386 11.4 行为:用JavaScript让程序运作起来 387 11.4.1 在客户端应用程序初始化完毕时加载提要列表 387 11.4.2 在用户点击提要列表条目时取得该提要的内容 388 11.4.3 实现添加提要功能 389 11.4.4 将Web Service以及JavaScript引入到客户端页面中 390 11.5 还可以如何实现 390 11.5.1 用组件封装功能模块 390 11.5.2 用Web Service桥取得提要内容 391 11.5.3 用ListView显示提要列表 391 11.5.4 用XSLTView显示提要内容 391 11.6 继续完善的方向 391 11.6.1 处理异常 391 11.6.2 允许添加其他类型的提要 392 11.6.3 保存用户的自定义提要 393 11.6.4 让添加提要的过程更加容易 393 11.6.5 支持编辑/删除提要 393 11.6.6 支持对提要进行分类管理 393 11.6.7 用拖放维护提要所在的分类或改变提要之间的顺序 394 11.7 小结 395 附录使用ASP.NET AJAX JavaScript Class Browser查看客户端类型 396 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。