《ASP.NET 2.0服务器控件与组件开发高级编程》PDF下载

  • 购买积分:28 如何计算积分?
  • 作  者:(美)DR.SHAHRAM KHOSRAVI著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115159904
  • 页数:1145 页
图书介绍:

第1章 ASP.NET2.0框架 1

1.1 请求过程 1

1.2 为什么开发自定义组件 4

1.2.2 角色管理模块和主体 5

1.2.1 数据源控件 5

1.2.5 自定义XML Web服务和客户端 6

1.2.4 成员资格提供程序 6

1.2.3 角色提供程序 6

1.2.8 开发自定义数据字段 7

1.2.7 开发Web部件控件 7

1.2.6 开发Ajax控件和组件 7

1.3 小结 8

1.2.10 开发自定义的基于提供程序的服务 8

1.2.9 开发自定义HTTP处理程序和模块 8

2.1 隐藏信息 9

第2章 开发简单的自定义控件和用户控件 9

2.2 部署自定义控件 14

2.3 在Web页面中使用自定义控件 15

2.4 为自定义控件添加属性 16

2.5.1 属性(Property)层次属性(Attribute) 19

2.5 为自定义控件添加设计时属性 19

2.5.2 类层次属性(Attribute) 20

2.6 将自定义控件添加到Visual Studio工具箱 21

2.5.3 程序集层次属性(Attribute) 21

2.7 与HtmlTextWriter相关的枚举 22

2.8 状态管理 27

2.9 用户控件 30

2.9.1 使用用户控件 32

2.9.2 为用户控件添加属性 33

2.9.3 为用户控件添加方法 35

2.9.4 内部揭秘 37

2.10 小结 38

3.1 Style类 39

第3章 开发自定义控件样式 39

3.2 WebControl类 40

3.2.3 RenderBeginTag方法 45

3.2.2 TagKey属性 45

3.2.1 重写Render方法 45

3.2.4 AddAttributesToRender方法 46

3.2.6 RenderEndTag方法 50

3.2.5 RenderContents方法 50

3.3 继承WebControl类 51

3.4 开发自定义Style类 56

3.5 使用自定义Style类 60

3.6 小结 62

4.1 事件介绍 63

第4章 开发自定义控件事件 63

4.2.1 事件数据和事件委托类 64

4.2 .NET事件设计模式 64

4.2.2 引发自定义控件事件 66

4.3 事件优化 68

4.4 回传 70

4.4.1 C#接口实现模式 73

4.4.3 回传数据 74

4.4.2 回传事件 74

4.5 页面生命周期 84

4.6 小结 87

5.1.1 呈现HTML 89

5.1 再次修改CreditCardForm6 89

第5章 开发自定义复合控件 89

5.1.2 回传功能 94

5.2 创建复合控件 96

5.2.3 选定布局 97

5.2.2 选定子控件 97

5.2.1 继承CompositeControl类 97

5.2.4 实现自定义容器控件 98

5.2.5 创建容器控件 99

5.2.6 创建容器控件的子控件 100

5.2.7 为容器控件应用样式 103

5.2.9 呈现容器控件 104

5.2.8 将容器控件添加到复合控件 104

5.2.10 CreateChildControls方法:一站式构建子控件 105

5.2.12 CreateControlStyle方法 107

5.2.11 TagKey属性 107

5.2.14 RenderContents方法 108

5.2.13 公开样式属性 108

5.2.15 Label属性 110

5.2.16 事件冒泡 112

5.2.18 重写Controls集合 116

5.2.17 自定义控件从CompositeControl继承了什么 116

5.2.19 INamingContainer接口 117

5.3 小结 118

6.1 自定义容器控件内容 119

第6章 开发自定义模板控件 119

6.2 TemplatedCreditCardForm控件 121

6.3 在ASP.NET页面中使用模板 123

6.4 模板内幕 125

6.5 数据绑定表达式 128

6.6 数据绑定表达式内幕 133

6.7 默认模板 135

6.8 小结 144

7.1 容器控件的样式属性 145

第7章 开发包含复杂属性的自定义控件 145

7.2 自定义容器控件外观 146

7.3 状态管理 148

7.4 实现IStateManager接口的类型 150

7.4.1 DefaultTemplateManager类 151

7.4.2 TemplatedCreditCardForm3 156

7.5.1 TypeConverter类 162

7.5 不实现IStateManager接口的类型 162

7.5.2 DefaultTemplateManager2类 163

7.5.3 DefaultTemplateManager2Converter类 164

7.5.5 使用不实现IStateManager接口的类 167

7.5.4 使用转换器标记DefaultTemplateManager2类 167

7.5.6 为什么需要使用TypeDescriptor 170

7.6.1 声明属性 171

7.6 容器控件样式的状态管理 171

7.6.2 TrackViewState方法 173

7.6.3 SaveViewState方法 174

7.6.4 LoadViewState方法 175

7.7.1 简单属性 176

7.7 声明持久性 176

7.7.2 复杂属性(连字符声明持久性) 177

7.7.3 复杂属性(内部属性声明持久性) 179

7.8 小结 181

8.1 请求过程 183

第8章 ASP.NET请求处理框架 183

8.2 HTTP模块 186

8.3 HTTP处理程序 187

8.5 控件生成器 188

8.4 HTTP处理程序工厂 188

8.6 开发自定义HTTP模块 195

8.8 开发自定义HTTP处理程序工厂 198

8.7 注册自定义HTTP模块 198

8.9.1 RSS 200

8.9 开发自定义HTTP处理程序 200

8.9.2 RssHandler 201

8.9.3 注册自定义HTTP处理程序 204

8.10 开发自定义控件生成器 206

8.10.1 开发自定义控件生成器CompositeCreditCardForm2Builder 209

8.10.2 开发自定义控件CompositeCreditCardForm2 210

8.11 小结 215

9.1 CustomTable控件 217

第9章 数据绑定 217

9.2 设置数据源 218

9.3 重写CreateChildControls方法 219

9.4 重写DataBind方法 221

9.5 创建控件层次 222

9.5.1 DataControlField类 224

9.5.2 CreateFields方法 225

9.5.3 CreateHeaderRow方法 227

9.5.4 CreateBodyRow方法 228

9.5.5 CachePrimaryKey方法 233

9.5.6 CreatePagerRow方法 234

9.6 重写CreateControlStyle属方法 235

9.7 实现CustomTable事件 236

9.8 重写OnBubbleEvent 237

9.9 CustomTableRow类 238

9.10 CustomTableRowCollection类 240

9.11 子控件样式 241

9.12 重写Render方法 242

9.13.1 TrackViewState方法 244

9.13 状态管理 244

9.13.2 SaveViewState方法 245

9.13.3 LoadViewState方法 246

9.14 在页面中使用CustomTable控件 248

9.16 小结 249

9.15 CustomTable控件的缺点 249

10.1 开发和使用XML Web服务 251

第10章 XML Web服务 251

10.2 添加引用按钮背后的秘密 254

10.3 WSDL文档 257

10.3.2 返回值的类型和顺序 259

10.3.1 参数的名称、类型和顺序 259

10.3.3 描述方法 260

10.3.4 描述访问XML Web服务方法的通信协议 261

10.4 XmlWebServiceMethodInvoker类 262

10.3.6 设置方法的类 262

10.3.5 为方法访问设置站点 262

10.4.1 以编程方式下载WSDL文档 263

10.4.2 根据WSDL文档反序列化一个.NET对象 264

10.4.3 为代理类生成代码 265

10.4.4 Import方法背后的秘密 266

10.4.5 编译代理类代码 269

10.4.7 调用代理类实例中的特定方法 270

10.4.6 创建代理类实例 270

10.4.8 总结:The InvokeXmlWebServiceMethod方法 274

10.5 如何使用XmlWebServiceMethodInvoker 275

10.6 缓存编译后的代理类 277

10.6.2 CompileCodeForProxyClass方法 278

10.6.1 缓存相关属性 278

10.6.3 InvokeXmlWebServiceMethod方法 280

10.6.4 使用缓存功能 281

10.7 开发XML Web服务自定义控件 284

10.8.1 XMLResolver类 286

10.8 XmlWebServiceResolver组件 286

10.8.2 GetEntity方法 290

10.9 小结 294

11.1 实现IXmlSerializable接口 295

第11章 实现架构导入扩展和ISerializable接口 295

11.1.1 实现服务器端组件 296

11.1.2 开发客户端组件 301

11.2 开发自定义架构导入扩展 303

11.2.2 CodeDom方法 305

11.2.1 使用喜欢的语言编写代码 305

11.3 注册自定义架构导入扩展 319

11.4.1 BookContent类 321

11.4 以块化方式发送和接收数据 321

11.4.2 ForumBook类 324

11.4.3 自定义架构导入扩展 325

11.6 小结 326

11.5 XmlWebServiceMethodInvoker的可扩展能力 326

12.1 为什么需要ASP.NET 2.0数据源控件模型 327

第12章 理解ASP.NET 2.0表格式数据源控件模型 327

12.1.1 获取数据 329

12.1.2 Update事件 330

12.2 ASP.NET 2.0数据源控件模型 332

12.3.1 IDataSource接口 333

12.3 ASP.NET 2.0表格式数据源控件模型 333

12.3.2 DataSourceControl类背后的秘密 335

12.3.3 继承DataSourceControl基类 336

12.3.4 DataSourceView类 338

12.3.5 Delete方法 349

12.3.6 Update方法 353

12.3.7 Insert方法 357

12.3.8 状态管理 361

12.4 小结 362

13.1 Parameters类 363

第13章 ASP.NET 2.0数据源控件参数模型 363

13.2.1 OnParameterChanged方法 366

13.2 Parameter类 366

13.2.2 SaveCurrentValue方法 367

13.2.4 CookieParameter组件 368

13.2.3 Evaluate方法 368

13.2.5 ControlParameter组件 369

13.3.1 ParametersChanged事件 371

13.3 ParameterCollection类 371

13.3.3 GetValues方法 372

13.3.2 OnInsert方法 372

13.4.1 ParameterCollection类型属性 374

13.4 自动调用GetValues和UpdateValues方法 374

13.3.4 UpdateValues方法 374

13.4.2 OnInit和Page_LoadComplete方法 376

13.4.4 ExecuteDelete方法 377

13.4.3 ExecuteSelect方法 377

13.4.5 ExecuteUpdate方法 379

13.4.6 ExecuteInsert方法 381

13.5 综合应用 383

13.6.1 XmlWebServiceParameter组件 385

13.6 开发自定义参数 385

13.6.2 ObjectParameter组件 389

13.6.3 ClientParameter组件 392

13.7 小结 397

14.1 XmlWebServiceMethodInvoker组件 399

第14章 开发ASP.NET 2.0自定义表格式数据源控件 399

14.2 DataSourceControl类 401

14.3 DataSourceView类 402

14.3.1 ExecuteSelect方法 403

14.3.2 ExecuteUpdate方法 415

14.3.3 ExecuteInsert方法 421

14.3.4 ExecuteDelete方法 425

14.4 RetrieveMethodArgumentNamesAndValues方法 428

14.5 状态管理 430

14.6 小结 432

第15章 理解ASP.NET 2.0分层式数据源控件模型 433

15.1 IHierarchicalDataSource接口 434

15.2 HierarchicalDataSourceControl类 435

15.3 HierarchicalDataSourceView类 437

15.4 IHierarchyData接口 440

15.5 IHierarchicalEnumerable接口 441

15.5.1 XmlHierarchyData类 444

15.5.2 XmlHierarchicalEnumerable类 450

15.5.3 XmlHierarchyDataPropertyDescriptor类 451

15.5.4 ICustomTypeDescriptor接口 453

15.5.5 XmlHierarchicalDataSourceView 455

15.6 小结 456

16.1 CustomSqlDataSource控件 457

第16章 开发ASP.NET 2.0自定义分层式数据源控件 457

16.2 SqlHierarchyDataPropertyDescriptor类 463

16.3.1 构造函数 466

16.3 SqlHierarchyData类 466

16.3.3 实现Type属性 467

16.3.2 实现HasChildren属性 467

16.4 SqlHierarchicalEnumerable类 469

16.5 SqlHierarchicalDataSourceView类 471

16.6 小结 472

17.1 本章概述 473

第17章 理解ASP.NET 2.0表格式数据绑定控件模型 473

17.2.1 RetrieveData方法 475

17.2 ASP.NET 1.x数据绑定控件模型 475

17.2.3 处理第3个数据绑定任务 476

17.2.2 重写DataBind方法 476

17.3.1 自动调用DataBind方法 477

17.3 BaseDataBoundControl类 477

17.3.3 第3个数据绑定任务 478

17.3.2 第一个和第二个数据绑定任务 478

17.4 开发继承自BaseDataBoundControl的自定义数据绑定控件 480

17.4.2 重写PerformSelect方法 481

17.4.1 处理Load事件 481

17.4.3 以声明方式编程而不编写代码 483

17.5 DataBoundControl类 484

17.4.4 CustomTable2控件的不足 484

17.5.1 GetDataSource方法 485

17.5.3 重写BaseDataBoundControl的抽象方法 486

17.5.2 GetData方法 486

17.6.1 重写CreateDataSourceSelectArguments方法 490

17.6 开发继承自DataBoundControl的自定义数据绑定控件 490

17.6.3 UpdateCallback方法 492

17.6.2 重写PerformDataBinding方法 492

17.6.4 DeleteCallback方法 494

17.6.5 以声明方式实现针对未知数据的无代码编程 495

17.7 CompositeDataBoundControl类 496

17.7.1 重写PerformDataBinding方法 497

17.7.3 重写CreateChildControls方法 498

17.7.2 重写DataBind方法 498

17.8 开发继承自CompositeDataBoundControl的控件 499

17.7.4 重写Controls集合 499

17.8.1 MasterDetailForm控件 500

17.8.2 AddDetailRow方法 505

17.8.3 AddMasterCell方法 507

17.8.5 AddMasterSelectButton方法 508

17.8.4 AddMasterHeaderCell方法 508

17.8.6 AddDetailCommandBar方法 509

17.8.7 Delete数据操作 511

17.8.8 Update数据操作 512

17.8.9 Sort操作 513

17.8.10 控件状态 514

17.8.12 无需编程实现主/从表 516

17.8.11 外观属性 516

17.9 小结 518

18.1 为什么需要ASP.NET 2.0数据控件字段模型 519

第18章 ASP.NET 2.0数据控件字段模型 519

18.2 DataControlField组件 521

18.2.1 OnFieldChanged方法 523

18.2.3 InitializeCell方法 524

18.2.2 Initialize方法 524

18.2.4 ExtractValuesFromCell方法 525

18.3.1 InitializeCell方法 526

18.3 BoundField 526

18.3.3 OnDataBindField方法 527

18.3.2 InitializeDataCell方法 527

18.3.4 GetValue方法 528

18.3.5 ExtractValuesFromCell方法 530

18.4.1 FieldsChanged事件 531

18.4 DataControlFieldCollection组件 531

18.5 开发自定义数据控件字段 532

18.4.2 OnInsert方法 532

18.5.1 DropDownListField 533

18.5.2 CalendarField 541

18.6 小结 546

第19章 开发ASP.NET 2.0自定义表格式数据绑定控件 547

19.2 重写CreateChildControls方法 548

19.1 继承自CompositeDataBoundControl 548

19.2.1 初始化参数 550

19.2.2 描述主键字段 551

19.2.3 创建Table子控件 552

19.2.4 创建PagedDataSource对象 553

19.2.5 创建数据控件字段 554

19.2.6 创建顶部分页行 559

19.2.7 创建标题行 562

19.2.8 枚举数据记录 563

19.2.9 创建空数据行 565

19.2.10 创建和填充GridViewRowCollection 566

19.2.12 InitializeRow方法 567

19.2.11 CreateRow方法 567

19.3 重写CreateDataSourceSelectArguments方法 568

19.5 重写OnBubbleEvent方法 570

19.4 重写CreateControlStyle方法 570

19.6 重写Render方法 578

19.7 状态管理 582

19.9 事件 584

19.8 重写OnInit方法 584

19.10 GridViewRow类 587

19.12 小结 591

19.11 GridViewRowCollection类 591

20.1 ASP.NET 1.x安全模型 593

第20章 为什么需要ASP.NET 2.0成员资格/角色模型 593

20.2 授权机制 599

20.3 ASP.NET 1.x安全模型的缺点 600

20.4 .NET 2.0提供程序模式 601

20.5 小结 602

21.1.1 成员资格提供程序的初始化和实例化 603

21.1 Membership类 603

第21章 理解ASP.NET 2.0成员资格模型 603

21.1.2 〈membership〉节 604

21.1.3 Provider和Providers属性 605

21.2.1 将新用户添加到数据存储中 609

21.2 成员资格API 609

21.2.2 从数据存储中删除用户 610

21.2.5 在数据存储中查找用户 611

21.2.4 根据数据存储验证用户凭证 611

21.2.3 在数据存储中更新指定用户成员资格信息 611

21.2.6 从数据存储中获取用户成员资格信息 613

21.2.7 强制设置应用程序特定的密码验证规则 614

21.2.8 访问用户在线时间窗口 616

21.3.1 Login控件 617

21.3 开发自定义安全控件 617

21.3.2 Register控件 622

21.3.3 使用Login和Register控件 624

21.3.4 注册SqlMembershipProvider 626

21.4 MembershipUser类 627

21.4.2 重置并获取密码 629

21.4.1 访问成员资格提供程序 629

21.4.3 修改密码 630

21.4.5 用户解锁 631

21.4.4 修改密码问题和答案 631

21.5 小结 632

22.1 MembershipProvider类 633

第22章 开发自定义MembershipProvider和MembershipUser组件 633

22.3 ProviderBase基类 635

22.2 SqlMembershipProvider类 635

22.4 MembershipProvider类 641

22.4.1 ChangePassword方法 642

22.4.2 ValidateUserInfo方法 644

22.4.3 UpdateUserInfo方法 648

22.4.4 UDdate方法 649

22.4.5 ChangePasswordQuestionAndAnswer方法 650

22.4.6 CreateUser方法 651

22.4.7 DeleteUser方法 656

22.4.8 FindUsersByEmail方法 657

22.4.9 FindUsersByName方法 658

22.4.10 GetAllUsers方法 660

22.4.11 Select方法 661

22.4.13 GetPassword方法 662

22.4.12 GetNumberOfUsersOnline方法 662

22.4.14 GetUser方法 665

22.4.16 ResetPassword方法 668

22.4.15 GetUserNameByEmail方法 668

22.4.17 UnlockUser方法 671

22.4.19 ValidateUser方法 672

22.4.18 UpdateUser方法 672

22.5 注册SqlMembershipProvider 673

22.6 使用自定义成员资格提供程序 674

22.7 扩展ASP.NET 2.0成员资格API 675

22.7.1 CustomMembershipUser类 676

22.7.2 CustomMembershipProvider类 677

22.7.3 CustomSqlMembershipProvider类 678

22.7.4 使用CustomMembershipUser、CustomMembershipProvider和CustomSqlMembershipProvider 684

22.8 小结 686

23.1 角色管理API 687

第23章 理解ASP.NET角色管理模型 687

23.1.1 管理角色 688

23.1.2 管理用户 689

23.2.1 身份 691

23.2 RolePrincipal类 691

23.2.3 IPrincipal接口 692

23.2.2 角色成员 692

23.3 RoleManagerModule类 697

23.3.1 PostAuthenticateRequestCallback方法 698

23.3.2 GetRoles事件 699

23.3.3 EndRequestCallback方法 701

23.4 小结 702

24.1 RoleProvider基类 703

第24章 开发自定义角色提供程序、模块和主体 703

24.2 XmlRoleProvider 704

24.3 ProviderBase类 705

24.4 XML API 706

24.4.1 流XML API 707

24.4.2 随机访问XML API 711

24.5 实现RoleProvider类的方法 713

24.5.2 SaveData方法 714

24.5.1 LoadData方法 714

24.5.3 角色管理 715

24.5.4 用户管理 727

24.6 开发自定义角色主体 739

24.6.1 构造函数 740

24.6.2 GetRoles方法 742

24.6.3 实现IPrincipal接口 743

24.7 开发自定义角色管理模块 744

24.7.1 PostAuthenticateRequestCallback方法 745

24.7.2 GetRoles事件 747

24.7.3 EndRequestCallback方法 748

24.7.4 XmlRoleProvider和CacheDependency 750

24.8 使用XmlRoleProvider 751

24.9 小结 756

25.1 开发基于提供程序的自定义服务的方法 757

第25章 开发基于提供程序的自定义服务 757

25.2 基于提供程序的RSS服务 758

25.3 自定义提供程序基类 759

25.5 配置Web.config和Machine.config文件 760

25.4 自定义提供程序集合 760

25.5.1 自定义配置节 761

25.5.2 注册〈rssService〉节 762

25.6 实现Service类 763

25.7 使用RSS服务 765

25.8.1 Initialize方法 766

25.8 SqlRssProvider类 766

25.8.2 LoadRss方法 772

25.8.3 GetDataReader方法 774

25.8.4 注册SqlRssProVider 774

25.9 RssHelper类 775

25.10 XmlRssProvider类 777

25.10.1 Initialize方法 778

25.10.2 LoadRss方法 781

25.10.3 RetrieveData方法 783

25.10.4 注册XmlRssProvider 784

25.11 小结 785

第26章 开发Ajax控件和组件:客户端功能 787

26.1 Ajax组件和控件 787

26.2 Ajax控件客户端功能的实现方法 789

26.3.1 将脚本呈现为HTML属性值 790

26.3 呈现方式 790

26.3.2 将客户端脚本呈现为脚本块 792

26.3.3 客户端脚本库 799

26.4 部署 802

26.4.1 将源文件部署到一个共享位置 803

26.4.2 将源文件嵌入程序集 803

26.5 呈现控件的客户端脚本的时机 811

26.5.1 禁用控件的客户端功能 811

26.5.2 检查请求浏览器的Ajax功能 812

26.6 呈现控件的客户端脚本的位置 813

26.6.2 重写AddAttributesToRender方法 814

26.6.3 重写RenderContents方法 814

26.6.1 重写OnPreRender方法 814

26.6.4 重写Render方法 815

26.7 退回到服务器端代码 815

26.8 开发Ajax控件 816

26.8.1 Ajax控件CustomImage 817

26.8.2 Ajax复合控件ImageDialog 825

26.9 小结 840

第27章 开发Ajax控件和组件:异步客户端回调 841

27.1 为什么使用AjaxDropDownList控件 842

27.2 客户端回调机制 843

27.3 实现ASP.NET 2.0客户端回调机制 843

27.3.1 重写OnPreRender方法 844

27.3.2 重写Render方法 851

27.3.3 服务器端 852

27.4 ASP.NET 2.0客户端回调机制 853

27.4.1 重写OnPreRender方法 854

27.4.2 重写Render方法 856

27.4.3 服务器端 857

27.5 未知类型数据存储Ajax控件 858

27.6 主/次窗体 862

27.7 开发Ajax数据控件字段 863

27.8 AiaxDetailsDialog控件 866

27.8.1 将AjaxDetailsDialog实现为复合控件 869

27.8.2 将AjaxDetailsDialog实现为Ajax控件 872

27.9 AjaxField数据控件字段 879

27.9.1 重写InitializeCell方法 879

27.9.2 重写OnDataBindField方法 882

27.9.3 实现CreateField方法 884

27.9.4 重写ExtractValuesFromCell方法 884

27.10 DropDownListField2控件 885

27.10.1 重写InitializeCell方法 885

27.11 Ajax控件CustomGridView 888

27.10.3 重写ExtractValuesFromCell方法 888

27.11.1 重写CreateChildTable方法 888

27.10.2 重写CreateField方法 888

27.11.2 重写PrepareControlHierarchy方法 891

27.12 小结 897

第28章 开发Ajax控件和组件:Ajax模式 899

28.1 模式 899

28.2 Google的XML Web服务API 900

28.3 预测式获取(Predictive Fetch)模式 908

28.3.1 继承自WebControl基类 910

28.3.2 实现ICallbackEventHandler接口 927

28.4 小结 930

第29章 开发Ajax控件和组件:更多的Ajax模式 931

29.1 周期式刷新(Periodic Refresh)模式 931

29.1.1 继承自WebControl基类 932

29.1.2 实现ICallbackEventHandler接口 934

29.2 提交节流(Submission Throttling)模式 941

29.2.1 重写OnPreRender方法 942

29.2.2 重写Render方法 944

29.2.3 JavaScript函数 954

29.3 显式提交(Explicit Submission)模式 961

29.3.1 重写OnPreRender方法 961

29.3.2 重写Render方法 963

29.3.3 实现ICallbackEventHandler接口 965

29.3.4 JavaScript函数 966

29.4 小结 967

第30章 理解ASP.NET 2.0 Web部件框架 969

30.1 什么是ASP.NET Web部件框架 969

30.2 以声明方式开发WebPart控件 971

30.3 移动WebPart控件 975

30.4 个性化WebPart控件的属性 979

30.5 个性化WebPart控件的自定义属性 982

30.6 添加已声明的WebPart控件 984

30.7 添加已关闭的WebPart控件 986

30.8 导出WebPart控件 988

30.9 添加导入的WebPart控件 991

30.10 Web部件框架的主要组件 993

30.11 Part基类 994

30.12 小结 996

第31章 开发自定义WebPart、EditorPart和CatalogPart控件 997

31.1 WebPart基类 997

31.2 开发自定义WebPart控件 1001

31.2.1 CreateChildControls方法 1002

31.2.2 AddContainer方法 1004

31.2.3 AddItemToContainer方法 1004

31.2.4 使用RssReaderWebPart控件 1005

31.3 实现IWebPart接口 1006

31.4 IWebActionable接口 1006

31.4.1 开发自定义Web部件谓词 1008

31.4.2 开发支持自定义Web部件谓词的WebPart控件 1009

31.5 EditorPart基类 1014

31.6 开发自定义EditorPart控件 1015

31.6.1 将RssReaderEditorPart作为复合控件 1016

31.6.2 SyncChanges方法 1021

31.6.3 ApplyChanges方法 1022

31.6.4 OnLoad方法 1024

31.6.5 RssReaderWebPart4控件 1024

31.7 CatalogPart基类 1034

31.8 开发自定义CatalogPart控件 1038

31.8.1 GetAvailableWebPartDescriptions方法 1040

31.8.2 LoadWebPartInfoSet方法 1044

31.8.3 GetWebPart方法 1045

31.8.4 LoadWebPartDescriptionFile方法 1046

31.8.5 使用XmlWebServiceCatalogPart控件 1046

31.9 小结 1052

第32章 开发自定义WebPartZoneBase控件 1053

32.1 WebZone基类 1053

32.2 WebPartZoneBase基类 1056

32.2.1 继承自WebZone基类 1057

32.2.3 CreateInitialWebParts方法 1059

32.2.4 CreateVerbs事件 1059

32.2.2 CreateWebPartChrome方法 1059

32.2.5 实现IPostBackEventHandler接口 1060

32.3 WebPartZone类 1063

32.4 开发自定义WebPartZone控件 1065

32.4.1 XmlWebServiceWebPartZone类 1065

32.4.2 ProviderBasedWebPartZone类 1071

32.4.3 SqlDescriptionDocumentProvider类 1085

32.5 WebPartChrome类 1088

32.5.1 RenderWebPart方法 1089

32.5.2 PerformPreRender方法 1093

32.6 开发自定义WebPartChrome 1094

32.6.1 CustomWebPartZone类 1097

32.6.2 使用CustomWebPartChrome控件 1097

32.7 小结 1098

第33章 WebPartManager、Web部件连接和数据绑定WebPart控件 1099

33.1 开发自定义WebPartManager控件 1099

33.2 连接WebPart控件 1103

33.2.1 实现提供者和订阅者WebPart控件 1112

33.2.2 动态连接 1118

33.2.3 以编程方式实现连接 1123

33.3 开发数据绑定WebPart控件 1132

33.3.1 BaseDataBoundWebPart基类 1133

33.3.2 DataBoundWebPart基类 1135

33.3.3 CompositeDataBoundWebPart基类 1137

33.3.4 GridViewWebPart控件 1138

33.3.5 MasterDetailGridViewWebPart控件 1140

33.4 小结 1145