
|
|
|
|
ASP.NET 2.0服务器控件与组件开发高级编程
|
|
|
|
|
| 作者 |
: |
库斯拉维
|
| ISBN |
: |
9787115159908
|
| 页数 |
: |
22,1145页
|
| 开本 |
: |
16开
|
| 出版社 |
: |
人民邮电
|
| 出版日期 |
: |
2007-6-1
|
| NT$ |
: |
1406
|
|
|
|
|
配送说明: 国际快递 , 海运邮递 。
付款说明: 1. VISA、MASTER線上刷卡 2. 信用卡传真刷卡付款 3.
邮政划拨 4. 银行汇款
|
|
|
|
|
 |
| |
本书是一本专门介绍服务器控件和组件的开发与使用的图书。全书共分为33章,分别介绍了Ajax控件和组件、ASP.NET 2.0 Web部件控件、ASP.NET 2.0安全、ASP.NET 2.0表格式和分层式数据源控件、ASP.NET 2.0表格式数据绑定控件、自定义架构导入扩展和ISerializable接口、基于提供程序的服务等内容。本书可帮助读者学习、掌握服务器控件和组件的各种开发技巧、知识和经验。 .
|
本书适合于那些需要学习如何创建自定义服务器控件和组件的读者。 ASP.NET 2.0框架包括两种组件:第一种是服务器控件,第二种是其他ASP.NET 2.0组件。本书深入讲解了ASP.NET 2.0框架中的细节。它们是开发自定义服务器控件和组件的读者需要理解的内容。通过亲手实践的方法,本书为读者提供了逐步的讲解和真实的示例,从而帮助读者掌握开发自定义组件所需的技巧、知识和经验。
|
■使用Ajax模式、ASP.NET 2.0客户端回调、CSS,DOM,XML和JavaScript实现Ajax控件和组件;
|
■如何实现自定义的Web部件,包括CatalogPart、WebPartZone、WebPartManager、WebPartChrome和数据绑定WebPart控件;
|
■实现ASP.NET 2.0的安全、角色管理和成员资格组件的方法;..
|
■如何实现自定义SchemaImporterExtension和ISerializable;
|
■如何开发自定义HTTP模块、HTTP处理程序工厂、HTTP处理程序、控件生成器、用户控件。复杂控件和模板控件。
|
本书适合那些需要学习如何创建自定义服务器控件和组件的ASP.NET开发人员。同时,假设读者毫无关于编写自定义服务器控件和组件的知识。
|
| Wrox Professiona系列教程由程序员为满足程序员、开发人员和IT专家的需求而策划和编写的。他们集中于解决每天面对的专业技术问题。他们提供的新技术方面的示例、实践解决方案和培训都是为帮助程序员更好的工作而设计的。... |
|
|
|
|
|
|
 |
| |
本书共分33章,分别介绍了Ajax控件和组件、ASP.NET 2.0安全、ASP.NET 2.0表格式和分层式数据源控件、自定义架构导入扩展和ISerializable接口等内容。
|
|
|
|
|
|
 |
| |
| 2.5.1 属性(Property)层次属性(Attribute) 19 |
| 2.5.2 类层次属性(Attribute) 20 |
| 2.5.3 程序集层次属性(Attribute) 21 |
| 2.6 将自定义控件添加到VisualStudio工具箱 21 |
| 2.7 与HtmlTextWriter相关的枚举 22 |
| 3.2.3 RenderBeginTag方法 45 |
| 3.2.4 AddAttributesToRender方法 46 |
| 3.2.5 RenderContents方法 50 |
| 5.1 再次修改CreditCardForm6 89 |
| 5.2.1 继承CompositeControl类 97 |
| 5.2.10 CreateChildControls方法:一站式构建子控件 105 |
| 5.2.12 CreateControlStyle方法 107 |
| 5.2.14 RenderContents方法 108 |
| 5.2.17 自定义控件从CompositeControl继承了什么 116 |
| 5.2.19 INamingContainer接口 117 |
| 6.2 TemplatedCreditCardForm控件 121 |
| 7.4 实现IStateManager接口的类型 150 |
| 7.4.1 DefaultTemplateManager类 151 |
| 7.4.2 TemplatedCreditCardForm3 156 |
| 7.5 不实现IStateManager接口的类型 162 |
| 7.5.2 DefaultTemplateManager2类 163 |
| 7.5.3 DefaultTemplateManager2Converter类 164 |
| 7.5.4 使用转换器标记DefaultTemplateManager2类 167 |
| 7.5.5 使用不实现IStateManager接口的类 167 |
| 7.5.6 为什么需要使用TypeDescriptor 170 |
| 7.6.2 TrackViewState方法 173 |
| 7.6.3 SaveViewState方法 174 |
| 7.6.4 LoadViewState方法 175 |
| 7.7.3 复杂属性(内部属性声明持久性) 179 |
| 8.10.1 开发自定义控件生成器CompositeCreditCardForm2Builder 209 |
| 8.10.2 开发自定义控件CompositeCreditCardForm2 210 |
| 9.3 重写CreateChildControls方法 219 |
| 9.5.1 DataControlField类 224 |
| 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.10 CustomTableRowCollection类 240 |
| 9.13.1 TrackViewState方法 244 |
| 9.13.2 SaveViewState方法 245 |
| 9.13.3 LoadViewState方法 246 |
| 9.14 在页面中使用CustomTable控件 248 |
| 9.15 CustomTable控件的缺点 249 |
| 10.3.4 描述访问XMLWeb服务方法的通信协议 261 |
| 10.4 XmlWebServiceMethodInvoker类 262 |
| 10.4.2 根据WSDL文档反序列化一个.NET对象 264 |
| 10.4.8 总结:TheInvokeXmlWebServiceMethod方法 274 |
| 10.5 如何使用XmlWebServiceMethodInvoker 275 |
| 10.6.2 CompileCodeForProxyClass方法 278 |
| 10.6.3 InvokeXmlWebServiceMethod方法 280 |
| 10.8 XmlWebServiceResolver组件 286 |
| 第11章 实现架构导入扩展和ISerializable接口 295 |
| 11.1 实现IXmlSerializable接口 295 |
| 11.5 XmlWebServiceMethodInvoker的可扩展能力 326 |
| 第12章 理解ASP.NET2.0表格式数据源控件模型 327 |
| 12.1 为什么需要ASP.NET2.0数据源控件模型 327 |
| 12.2 ASP.NET2.0数据源控件模型 332 |
| 12.3 ASP.NET2.0表格式数据源控件模型 333 |
| 12.3.2 DataSourceControl类背后的秘密 335 |
| 12.3.3 继承DataSourceControl基类 336 |
| 12.3.4 DataSourceView类 338 |
| 第13章 ASP.NET2.0数据源控件参数模型 363 |
| 13.2.1 OnParameterChanged方法 366 |
| 13.2.2 SaveCurrentValue方法 367 |
| 13.2.4 CookieParameter组件 368 |
| 13.2.5 ControlParameter组件 369 |
| 13.3 ParameterCollection类 371 |
| 13.3.1 ParametersChanged事件 371 |
| 13.3.4 UpdateValues方法 374 |
| 13.4 自动调用GetValues和UpdateValues方法 374 |
| 13.4.1 ParameterCollection类型属性 374 |
| 13.4.2 OnInit和Page_LoadComplete方法 376 |
| 13.4.3 ExecuteSelect方法 377 |
| 13.4.4 ExecuteDelete方法 377 |
| 13.4.5 ExecuteUpdate方法 379 |
| 13.4.6 ExecuteInsert方法 381 |
| 13.6.1 XmlWebServiceParameter组件 385 |
| 13.6.2 ObjectParameter组件 389 |
| 13.6.3 ClientParameter组件 392 |
| 第14章 开发ASP.NET2.0自定义表格式数据源控件 399 |
| 14.1 XmlWebServiceMethodInvoker组件 399 |
| 14.2 DataSourceControl类 401 |
| 14.3.1 ExecuteSelect方法 403 |
| 14.3.2 ExecuteUpdate方法 415 |
| 14.3.3 ExecuteInsert方法 421 |
| 14.3.4 ExecuteDelete方法 425 |
| 14.4 RetrieveMethodArgumentNamesAndValues方法 428 |
| 第15章 理解ASP.NET2.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 |
| 第16章 开发ASP.NET2.0自定义分层式数据源控件 457 |
| 16.1 CustomSqlDataSource控件 457 |
| 16.2 SqlHierarchyDataPropertyDescriptor类 463 |
| 16.3 SqlHierarchyData类 466 |
| 16.3.2 实现HasChildren属性 467 |
| 16.4 SqlHierarchicalEnumerable类 469 |
| 16.5 SqlHierarchicalDataSourceView类 471 |
| 第17章 理解ASP.NET2.0表格式数据绑定控件模型 473 |
| 17.2 ASP.NET1.x数据绑定控件模型 475 |
| 17.2.1 RetrieveData方法 475 |
| 17.3 BaseDataBoundControl类 477 |
| 17.3.1 自动调用DataBind方法 477 |
| 17.4 开发继承自BaseDataBoundControl的自定义数据绑定控件 480 |
| 17.4.2 重写PerformSelect方法 481 |
| 17.4.4 CustomTable2控件的不足 484 |
| 17.5 DataBoundControl类 484 |
| 17.5.1 GetDataSource方法 485 |
| 17.5.3 重写BaseDataBoundControl的抽象方法 486 |
| 17.6 开发继承自DataBoundControl的自定义数据绑定控件 490 |
| 17.6.1 重写CreateDataSourceSelectArguments方法 490 |
| 17.6.2 重写PerformDataBinding方法 492 |
| 17.6.3 UpdateCallback方法 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.8 开发继承自CompositeDataBoundControl的控件 499 |
| 17.8.1 MasterDetailForm控件 500 |
| 17.8.2 AddDetailRow方法 505 |
| 17.8.3 AddMasterCell方法 507 |
| 17.8.4 AddMasterHeaderCell方法 508 |
| 17.8.5 AddMasterSelectButton方法 508 |
| 17.8.6 AddDetailCommandBar方法 509 |
| 第18章 ASP.NET2.0数据控件字段模型 519 |
| 18.1 为什么需要ASP.NET2.0数据控件字段模型 519 |
| 18.2 DataControlField组件 521 |
| 18.2.1 OnFieldChanged方法 523 |
| 18.2.3 InitializeCell方法 524 |
| 18.2.4 ExtractValuesFromCell方法 525 |
| 18.3.1 InitializeCell方法 526 |
| 18.3.2 InitializeDataCell方法 527 |
| 18.3.3 OnDataBindField方法 527 |
| 18.3.5 ExtractValuesFromCell方法 530 |
| 18.4 DataControlFieldCollection组件 531 |
| 18.4.1 FieldsChanged事件 531 |
| 18.5.1 DropDownListField 533 |
| 18.5.2 CalendarField ..541 |
| 第19章 开发ASP.NET2.0自定义表格式数据绑定控件 547 |
| 19.1 继承自CompositeDataBoundControl 548 |
| 19.2 重写CreateChildControls方法 548 |
| 19.2.4 创建PagedDataSource对象 553 |
| 19.2.10 创建和填充GridViewRowCollection 566 |
| 19.2.12 InitializeRow方法 567 |
| 19.3 重写CreateDataSourceSelectArguments方法 568 |
| 19.4 重写CreateControlStyle方法 570 |
| 19.5 重写OnBubbleEvent方法 570 |
| 19.11 GridViewRowCollection类 591 |
| 第20章 为什么需要ASP.NET2.0成员资格/角色模型 593 |
| 20.3 ASP.NET1.x安全模型的缺点 600 |
| 第21章 理解ASP.NET2.0成员资格模型 603 |
| 21.1.1 成员资格提供程序的初始化和实例化 603 |
| 21.1.3 Provider和Providers属性 605 |
| 21.2.3 在数据存储中更新指定用户成员资格信息 611 |
| 21.2.6 从数据存储中获取用户成员资格信息 613 |
| 21.2.7 强制设置应用程序特定的密码验证规则 614 |
| 21.3.3 使用Login和Register控件 624 |
| 21.3.4 注册SqlMembershipProvider 626 |
| 第22章 开发自定义MembershipProvider和MembershipUser组件 633 |
| 22.1 MembershipProvider类 633 |
| 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.5 ChangePasswordQuestionAndAnswer方法 650 |
| 22.4.8 FindUsersByEmail方法 657 |
| 22.4.9 FindUsersByName方法 658 |
| 22.4.10 GetAllUsers方法 660 |
| 22.4.12 GetNumberOfUsersOnline方法 662 |
| 22.4.13 GetPassword方法 662 |
| 22.4.15 GetUserNameByEmail方法 668 |
| 22.4.16 ResetPassword方法 668 |
| 22.4.19 ValidateUser方法 672 |
| 22.5 注册SqlMembershipProvider 673 |
| 22.7 扩展ASP.NET2.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 |
| 23.3 RoleManagerModule类 697 |
| 23.3.1 PostAuthenticateRequestCallback方法 698 |
| 23.3.3 EndRequestCallback方法 701 |
| 第24章 开发自定义角色提供程序.模块和主体 703 |
| 24.5 实现RoleProvider类的方法 713 |
| 24.6.3 实现IPrincipal接口 743 |
| 24.7.1 PostAuthenticateRequestCallback方法 745 |
| 24.7.3 EndRequestCallback方法 748 |
| 24.7.4 XmlRoleProvider和CacheDependency 750 |
| 24.8 使用XmlRoleProvider 751 |
| 25.1 开发基于提供程序的自定义服务的方法 757 |
| 25.5 配置Web.config和Machine.config文件 760 |
| 25.8.3 GetDataReader方法 774 |
| 25.8.4 注册SqlRssProvider 774 |
| 25.10 XmlRssProvider类 777 |
| 25.10.3 RetrieveData方法 783 |
| 25.10.4 注册XmlRssProvider 784 |
| 第26章 开发Ajax控件和组件:客户端功能 787 |
| 26.2 Ajax控件客户端功能的实现方法 789 |
| 26.5.2 检查请求浏览器的Ajax功能 812 |
| 26.6.1 重写OnPreRender方法 814 |
| 26.6.2 重写AddAttributesToRender方法 814 |
| 26.6.3 重写RenderContents方法 814 |
| 26.8.1 Ajax控件CustomImage 817 |
| 26.8.2 Ajax复合控件ImageDialog 825 |
| 第27章 开发Ajax控件和组件:异步客户端回调 841 |
| 27.1 为什么使用AjaxDropDownList控件 842 |
| 27.3 实现ASP.NET2.0客户端回调机制 843 |
| 27.3.1 重写OnPreRender方法 844 |
| 27.4 ASP.NET2.0客户端回调机制 853 |
| 27.4.1 重写OnPreRender方法 854 |
| 27.8 AjaxDetailsDialog控件 866 |
| 27.8.1 将AjaxDetailsDialog实现为复合控件 869 |
| 27.8.2 将AjaxDetailsDialog实现为Ajax控件 872 |
| 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.10.2 重写CreateField方法 888 |
| 27.10.3 重写ExtractValuesFromCell方法 888 |
| 27.11 Ajax控件CustomGridView 888 |
| 27.11.1 重写CreateChildTable方法 888 |
| 27.11.2 重写PrepareControlHierarchy方法 891 |
| 第28章 开发Ajax控件和组件:Ajax模式 899 |
| 28.2 Google的XMLWeb服务API 900 |
| 28.3 预测式获取(PredictiveFetch)模式 908 |
| 28.3.1 继承自WebControl基类 910 |
| 28.3.2 实现ICallbackEventHandler接口 927 |
| 第29章 开发Ajax控件和组件:更多的Ajax模式 931 |
| 29.1 周期式刷新(PeriodicRefresh)模式 931 |
| 29.1.1 继承自WebControl基类 932 |
| 29.1.2 实现ICallbackEventHandler接口 934 |
| 29.2 提交节流(SubmissionThrottling)模式 941 |
| 29.2.1 重写OnPreRender方法 942 |
| 29.3 显式提交(ExplicitSubmission)模式 961 |
| 29.3.1 重写OnPreRender方法 961 |
| 29.3.3 实现ICallbackEventHandler接口 965 |
| 第30章 理解ASP.NET2.0Web部件框架 969 |
| 30.1 什么是ASP.NETWeb部件框架 969 |
| 30.2 以声明方式开发WebPart控件 971 |
| 30.5 个性化WebPart控件的自定义属性 982 |
| 第31章 开发自定义WebPart.EditorPart和CatalogPart控件 997 |
| 31.2.1 CreateChildControls方法 1002 |
| 31.2.2 AddContainer方法 1004 |
| 31.2.3 AddItemToContainer方法 1004 |
| 31.2.4 使用RssReaderWebPart控件 1005 |
| 31.4 IWebActionable接口 1006 |
| 31.4.2 开发支持自定义Web部件谓词的WebPart控件 1009 |
| 31.6 开发自定义EditorPart控件 1015 |
| 31.6.1 将RssReaderEditorPart作为复合控件 1016 |
| 31.6.2 SyncChanges方法 1021 |
| 31.6.3 ApplyChanges方法 1022 |
| 31.6.5 RssReaderWebPart4控件 1024 |
| 31.8 开发自定义CatalogPart控件 1038 |
| 31.8.1 GetAvailableWebPartDescriptions方法 1040 |
| 31.8.2 LoadWebPartInfoSet方法 1044 |
| 31.8.4 LoadWebPartDescriptionFile方法 1046 |
| 31.8.5 使用XmlWebServiceCatalogPart控件 1046 |
| 第32章 开发自定义WebPartZoneBase控件 1053 |
| 32.2 WebPartZoneBase基类 1056 |
| 32.2.2 CreateWebPartChrome方法 1059 |
| 32.2.3 CreateInitialWebParts方法 1059 |
| 32.2.4 CreateVerbs事件 1059 |
| 32.2.5 实现IPostBackEventHandler接口 1060 |
| 32.4 开发自定义WebPartZone控件 1065 |
| 32.4.1 XmlWebServiceWebPartZone类 1065 |
| 32.4.2 ProviderBasedWebPartZone类 1071 |
| 32.4.3 SqlDescriptionDocumentProvider类 1085 |
| 32.5.1 RenderWebPart方法 1089 |
| 32.5.2 PerformPreRender方法 1093 |
| 32.6 开发自定义WebPartChrome 1094 |
| 32.6.1 CustomWebPartZone类 1097 |
| 32.6.2 使用CustomWebPartChrome控件 1097 |
| 第33章 WebPartManager.Web部件连接和数据绑定WebPart控件 1099 |
| 33.1 开发自定义WebPartManager控件 1099 |
| 33.2.1 实现提供者和订阅者WebPart控件 1112 |
| 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 |
|
|
|
 |
|
|