资源说明:内容简介
本书主要介绍asp.net的控件开发,书中通过70多个例子讲解了asp.net控件开发技术的各个方面,而且剖析了很多控件中系统基类源代码,读者从这些系统源代码可以体会设计模式思想。如果扎实地掌握了asp.net控件的运行机制,开发一个页面级的asp.net应用程序会变得非常简单。本书宗旨就是让开发人员真正理解asp.net技术,帮助开发人员提高asp.net开发的技术水平。学完本书后您不仅能够掌握控件开发各个方面的技术,而且深晓asp.net的工作原理。对大部分使用asp.net技术开发两年左右的开发人员来说,本书75%以上的内容可能没有接触过,本书将通过笔者精心准备的一些生动的例子来阐述这些内容。.
本书适合从事asp.net技术多年想往深度理解asp.net工作机制的开发人员阅读,对于刚刚入门的初级开发人员,本书的前面几章也介绍了几个入门性的应用例子,本书还可以作为在校学生的就业预备教材。针对读者安装的开发环境不同,笔者分别为vs 2005和vs 2008建立了解决方案,即无论您是使用vs 2005还是vs 2008都可以成功打开本书随书光盘的代码,只是使用vs 2005打开的解决方案不包含.net 3.5对应章节内容的示例代码。...
目录
第1章 服务器控件概述及开发环境部署.1
1.1 自定义服务器控件1
1.2 服务器控件在软件开发过程中的作用1
1.3 在控件开发中提升自己2
1.4 可继承控件基类介绍2
1.5 运行一个简单的控件7
1.5.1 开发一个简单控件7
1.5.2 部署和运行11
1.6 控件生命周期12
1.6.1 概述12
1.6.2 用代码跟踪控件生命周期过程14
1.7 本章总结17
第2章 服务器控件开发中的调试技术18
2.1 预置代码示例18
2.2 调试页面服务端代码19
2.3 服务器控件的调试20
2.3.1 运行模式下的调试方法20
2.3.2 设计模式下的调试方法20
2.4 javascript脚本调试方法22
2.4.1 调试页面中的javascript脚本(方法一)22
.2.4.2 调试页面中的javascript脚本(方法二)23
2.4.3 调试非嵌入式javascript脚本文件23
2.4.4 调试嵌入式javascript脚本资源文件24
2.4.5 高效率调试的技巧24
2.5 ajax library对javascript调试支持26
2.6 本章总结26
第3章 从零开始开发服务器控件27
3.1 选择基类27
3.2 控件呈现顺序28
3.3 render呈现控件的几种方式30
3.3.1 使用htmltextwriter类输出30
3.3.2 直接输出html标签32
3.3.3 使用服务器控件的rendercontrol方法33
3.4 addattributestorender方法34
3.5 createchildcontrols方法35
3.6 inamingcontainer接口36
3.7 实现复合控件38
3.7.1 createchildcontrols方法39
3.7.2 childcontrolscreated属性39
3.7.3 ensurechildcontrols方法39
3.7.4 recreatechildcontrols方法39
3.7.5 controls属性40
3.7.6 hascontrols方法40
3.7.7 hasevents方法40
3.7.8 findcontrol方法41
3.7.9 实现复合控件示例41
3.8 常用开发技巧51
3.8.1 designmode属性51
3.8.2 屏蔽基类控件中的属性52
3.8.3 page.request.browser属性53
3.8.4 设置控件id规范53
3.8.5 增强findcontrol功能54
3.8.6 映射服务端控件值到客户端55
3.8.7 禁止派生自compositecontrol的控件创建子控件56
3.8.8 使用createchildcontrols的注意事项56
3.8.9 不要误解设计元属性defaultvalue57
3.8.10 在render方法中利用基类资源57
3.8.11 条件编译&条件属性60
3.9 本章总结61
第4章 服务器控件属性62
4.1 控件属性的作用62
4.1.1 系统属性62
4.1.2 自定义属性62
4.2 简单属性63
4.3 属性的设计时特性64
4.4 复杂属性67
4.4.1 概述67
4.4.2 复杂属性的几种标记形式67
4.4.3 深入研究——复杂属性分析器79
4.5 深入研究——定制自己的属性编辑器85
4.5.1 系统属性编辑器85
4.5.2 定制属性编辑器91
4.6 类型转换器126
4.6.1 系统类型转换器126
4.6.2 定制自己的类型转换器128
4.7 实现自定义属性138
4.8 本章总结145
第5章 事件和数据回发机制146
5.1 控件事件和数据回发概述146
5.1.1 事件及其意义146
5.1.2 数据回发机制147
5.2 事件和数据回发机制的实现148
5.2.1 客户端回传事件接口ipostbackeventhandler148
5.2.2 客户端回发/回调揭密150
5.2.3 回传数据处理接口ipostbackdatahandler153
5.2.4 正确处理继承基类中控件的事件159
5.2.5 扩展kingtextbox控件功能(kingtextboxcanpostevent控件)161
5.3 复合控件的事件处理机制168
5.3.1 高效率事件集合对象168
5.3.2 定制自己的委托和事件参数类170
5.3.3 复合控件的事件处理175
5.3.4 自动完成功能控件searchcontrolintelligent185
5.4 本章总结193
第6章 页面状态机制194
6.1 页面状态概述194
6.2 视图状态机制195
6.2.1 istatemanager接口195
6.2.2 控件生命周期中的装载和保存视图阶段196
6.2.3 简单类型视图状态应用197
6.2.4 实现自定义类型视图状态205
6.3 控件状态机制217
6.4 视图状态和控件状态的关系221
6.4.1 在禁用视图状态的情况下仍然使用viewstate对象221
6.4.2 istatemanager接口仍然可以在控件状态中使用223
6.4.3 视图状态和控件状态组合使用规则225
6.5 加密页面状态225
6.6 清除页面状态226
6.7 对动态添加控件的视图状态分析228
6.8 自定义类型转换器实现高效率序列化231
6.9 页面状态性能优化策略238
6.9.1 存储位置优化——把视图状态信息保存在服务端而非客户端238
6.9.2 体积优化——压缩视图状态数据240
6.9.3 分块存储视图状态数据243
6.10 视图状态和控件状态的总结243
6.11 本章总结244
第7章 定制自定义控件主题样式245
7.1 控件样式概述245
7.2 asp.net对样式的支持245
7.2.1 style类的工作原理及使用245
7.2.2 webcontrol基类对样式的支持功能及其工作原理249
7.2.3 htmltextwriter类对控件样式的支持252
7.2.4 定义控件内部的样式属性规则253
7.2.5 两个常用转换方法256
7.3 应用示例260
7.3.1 复合控件样式及视图状态260
7.3.2 控件结构与样式分离方案268
7.4 本章总结295
第8章 控件客户端编程模型297
8.1 asp.net服务端控件对客户端的支持297
8.2 clientscriptmanager类功能详解301
8.2.1 registerarraydeclaration方法301
8.2.2 registerclientscriptblock方法302
8.2.3 registerclientscriptinclude方法303
8.2.4 registerclientscriptresource方法304
8.2.5 registerstartupscript方法305
8.2.6 registerexpandoattribute方法305
8.2.7 registerhiddenfield方法306
8.2.8 getcallbackeventreference方法307
8.2.9 getpostbackclienthyperlink方法307
8.2.10 getpostbackeventreference方法308
8.2.11 getwebresourceurl方法308
8.2.12 registeronsubmitstatement方法309
8.3 客户端回调309
8.4 客户端控件应用示例323
8.4.1 封装js客户端对象323
8.4.2 封装htc客户端对象343
8.4.3 在线签名控件示例应用371
8.5 常用的一些javascript框架385
8.6 本章总结387
第9章 定制用户控件388
9.1 用户控件概述388
9.1.1 用户控件的作用..388
9.1.2 了解system.web.ui.usercontrol基类388
9.2 用户控件应用示例389
9.2.1 简单用户控件389
9.2.2 复杂数据绑定用户控件394
9.3 用户控件缓存419
9.3.1 asp.net缓存介绍419
9.3.2 用户控件缓存420
9.4 本章总结421
第10章 开发验证控件422
10.1 验证控件的工作原理422
10.1.1 内置验证控件简述422
10.1.2 验证控件的工作机制解析423
10.2 实现自定义验证控件443
10.3 本章总结451
第11章 在控件中使用嵌入资源452
11.1 在控件中嵌入资源的原理452
11.2 在控件中应用嵌入资源453
11.2.1 在控件中使用嵌入资源453
11.2.2 常用嵌入资源类型及用法455
11.3 浏览器常用工具460
11.3.1 httpwatch460
11.3.2 ie develper toolbar461
11.3.3 fiddler461
11.4 本章总结462
第12章 开发模板数据绑定控件463
12.1 asp.net模板属性控件机制463
12.1.1 模板属性介绍463
12.1.2 asp.net对模板控件的支持464
12.1.3 repeater控件模板实现机制解析466
12.2 自定义控件应用示例469
12.2.1 模板控件功能469
12.2.2 应用示例470
12.3 本章总结489
第13章 数据绑定和数据源控件490
13.1 数据绑定控件490
13.1.1 数据绑定控件概述490
13.1.2 asp.net对数据绑定控件的支持491
13.2 数据绑定控件示例应用501
13.2.1 控件实现功能501
13.2.2 应用示例502
13.3 数据源控件508
13.3.1 数据源控件概述508
13.3.2 asp.net对数据源控件的支持508
13.4 数据源控件示例应用515
13.4.1 控件实现功能515
13.4.2 应用示例516
13.5 本章总结522
第14章 扩展控件方案——gridview523
14.1 扩展控件概述523
14.2 任意定制gridview多表头523
14.2.1 功能概述523
14.2.2 代码实现524
14.3 固定gridview表头并增加滚动条支持527
14.3.1 功能概述527
14.3.2 代码实现528
14.4 本章总结533
第15章 自定义控件设计模式下编程汇总534
15.1 .net框架对设计时支持534
15.2 设计时元数据支持535
15.3 复杂属性序列化539
15.4 类型转换器539
15.5 属性编辑器540
15.6 设计模式可用基类介绍541
15.7 设计时对控件呈现的支持543
15.7.1 概述543
15.7.2 应用示例543
15.8 自动套用格式546
15.8.1 概述546
15.8.2 应用示例547
15.9 模板ui设计器551
15.10 智能操作列表552
15.10.1 概述552
15.10.2 应用示例552
15.11 控件设计器区域558
15.11.1 概述558
15.11.2 应用示例558
15.12 本章总结562
第16章 asp.net ajax控件开发——客户端563
16.1 asp.net ajax框架概述563
16.2 ajax library对客户端面向对象功能支持564
16.2.1 命名空间及type和function类565
16.2.2 接口类型568
16.2.3 类类型以及面向对象继承特征569
16.2.4 枚举类型570
16.2.5 反射功能570
16.3 ajax library中的常用类型571
16.3.1 ajax library对javascript基类型的扩展571
16.3.2 sys.stringbuilder类576
16.4 ajax library请求服务端和webservices577
16.4.1 sys.net命名空间中的类577
16.4.2 请求过程解析578
16.4.3 webrequest请求示例579
16.4.4 使用代理实现ajax调用服务端示例581
16.5 ajax library对控件客户端类开发的支持584
16.5.1 客户端控件基成员(类/接口)584
16.5.2 asp.net ajax控件客户端生命周期589
16.6 客户端控件示例应用592
16.7 调试和跟踪603
16.8 本章总结605
第17章 asp.net ajax控件开发——服务端606
17.1 asp.net ajax服务器控件概述606
17.2 ajax服务器控件607
17.2.1 ajax服务器控件607
17.2.2 asp.net ajax扩展程序控件612
17.3 asp.net ajax对服务器控件支持的基类612
17.3.1 ajax控件支持的基类612
17.3.2 ajax控件应用示例623
17.4 本章总结636
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。