词条 | ASP.NETAJAX编程参考手册 |
释义 | 《ASP.NETAJAX编程参考手册》以AJAX为核心阐述对象,介绍了它对JavaScript所做的各种扩展,还介绍了在ASP.NET环境下创建客户端应用所需的一些核心控件。通过大量的实例,《ASP.NETAJAX编程参考手册》详述了AJAX的内部机制,并且紧跟时代潮流,重点描述了如何依靠异步通信机制,更快、更好、更有效地实现客户端和服务器端之间的通信。 版权信息书 名: ASP.NETAJAX编程参考手册 作 者:(美国)ShahranKhosravi 出版社: 清华大学出版社 出版时间: 2009 ISBN: 9787302194828 开本: 16 定价: 168.00 元 作者简介ShahramKhosravi,博士。他是一名资深的软件工程师、顾问、作家和讲师。在面向对象的分析、设计和编程方面有十多年的经验。讲授课程包括ASPNET、Web服务、.NET技术、XML技术、C#等。Shahr8m还撰写了多本关于ASP、NET的书,并在微软的MSDN存线文档以及Dr.Dobb’SJournal、asp.neetPRO等杂志上发表技术文章多篇。 译者简介: 刘志忠,博士,毕业于国防科技大学计算机科学与技术专业,现仟解放军理工大学指挥自动化学院教员。主要研究基于Web,E报务的分布式计算技术,精通.NET、Java、C++和VB等程序设计语言,对AJAX和HTML技术也有深入的了解,具有多年程序开发经验,曾参与973、863、国家自然科学基金等科研项目。业余时间以写文章,翻译图书为乐,译著包括《CSS基础教程》等。 编辑推荐《ASP.NETAJAX编程参考手册(涵盖ASP.NET3.5及2.0)》将为您提供开发ASP.NETAJAX应用所必需的技能和知识。ASP.NETAJAX将ASP.NET/.NETFramework中的服务器端编程技术引入到客户端框架,从而带来了客户端编程的丰富特性。《ASP.NETAJAX编程参考手册(涵盖ASP.NET3.5及2.0)》主要阐述ASP.NETAJAX是如何在客户端模拟这些丰富特性的。《ASP.NETAJAX编程参考手册(涵盖ASP.NET3.5及2.0)》通过大量实例、深入的描述以及代码分析,全面涵盖了ASP.NETAJAX服务器端和客户端框架。书中的所有代码都通过了ASP.NET2.0和ASP.NET3.5的测试。通过《ASP.NETAJAX编程参考手册(涵盖ASP.NET3.5及2.0)》,您将学习到这些框架之间是如何进行协同以满足AJAx应用需求的。 目录第1章AJAX相关技术1 1.1GoogleSuggest1 1.2XMLHttpRequest3 1.3XML13 1.4JSON17 1.4.1对象17 1.4.2数组17 1.4.3字符串17 1.4.4数字18 1.4.5null、true和false18 1.5ASP.NETAJAX21 1.6安装ASP.NETAJAXExtensions和ASP.NETFutures22 1.7小结22 第2章JavaScript基本类型扩展23 2.1ASP.NETAJAXArray类型扩展23 2.1.1add24 2.1.2addRange24 2.1.3clear25 2.1.4clone25 2.1.5contains26 2.1.6enqueue和dequeue26 2.1.7forEach28 2.1.8indexOf29 2.1.9insert30 2.1.10parse30 2.1.11remove31 2.1.12removeAt31 2.2ASP.NETAJAXBoolean类型扩展32 2.3ASP.NETAJAXDate类型扩展32 2.4ASP.NETAJAXObject类型扩展33 2.5ASP.NETAJAXString类型扩展33 2.5.1endsWith33 2.5.2startsWith34 2.5.3trim34 2.5.4格式化35 2.6ASP.NETAJAXError类型扩展35 2.6.1create36 2.6.2popStackFrame38 2.6.3popStackFrame的内部机理41 2.7小结44 第3章内置的和自定义异常类型45 3.1ASP.NETAJAX内置异常类型45 3.1.1ArgumentException45 3.1.2ArgumentNullException47 3.1.3ArgumentOutOfRangeException49 3.1.4ArgumentTypeException51 3.1.5ArgumentUndefinedException53 3.1.6InvalidOperationException55 3.1.7NotImplementedException56 3.1.8ParameterCountException57 3.2实现自定义异常类型59 3.2.1实现自定义异常类型的流程59 3.2.2使用流程60 3.2.3clickCallback63 3.2.4validateInput64 3.3小结64 第4章JavaScript面向对象编程和类型反射扩展65 4.1JavaScript函数65 4.2JavaScript类66 4.3Type67 4.4registerClass68 4.5getName70 4.6isClass71 4.7registerNamespace72 4.8isNamespace74 4.9registerInterface75 4.10getInterfaces78 4.11isInterface80 4.12继承81 4.13getBaseType84 4.14initializeBase87 4.15resolveInheritance87 4.16callBaseMethod88 4.17getBaseMethod93 4.18implementsInterface96 4.19inheritsFrom100 4.20isImplementedBy102 4.21getRootNamespaces104 4.22parse106 4.23registerEnum108 4.24isEnum109 4.25isFlags110 4.26小结110 第5章事件编程模型扩展111 5.1事件编程模型111 5.1.1Sys.EventArgs112 5.1.2Sys.CancelEventArgs112 5.1.3EventHandlerList112 5.2使用事件编程116 5.2.1基本类117 5.2.2事件122 5.2.3ShoppingCart130 5.2.4添加一个事件处理程序134 5.2.5移除一个事件处理程序134 5.3小结135 第6章DOM扩展136 6.1DomElement136 6.1.1getElementById136 6.1.2addCssClass141 6.1.3containsCssClass141 6.1.4removeCssClass141 6.1.5toggleCssClass143 6.1.6getLocation144 6.1.7setLocation145 6.1.8getBounds147 6.2MouseButton148 6.3Key149 6.4委托149 6.4.1Namespace155 6.4.2Mover155 6.4.3TextProvider155 6.4.4ImageProvider156 6.5DomEvent156 6.5.1构造函数157 6.5.2静态方法159 6.5.3实例方法166 6.6使用DomEvent类170 6.6.1Mover176 6.6.2TableProvider180 6.7小结181 第7章组件开发基础设施182 7.1接口182 7.1.1IDisposable183 7.1.2INotifyDisposing186 7.1.3INotifyPropertyChange189 7.2组件194 7.3IContainer196 7.4应用197 7.4.1addComponent198 7.4.2removeComponent199 7.4.3getComponents199 7.4.4findComponent200 7.5应用生命周期201 7.6组件生命周期205 7.7继续应用生命周期之旅209 7.7.1endCreateComponents209 7.7.2raiseLoad211 7.7.3应用生命周期小结212 7.8应用层事件213 7.8.1Init213 7.8.2load214 7.8.3unload214 7.9可丢弃对象214 7.10使用Application对象和Component基类217 7.10.1dispose217 7.10.2initialize220 7.10.3id222 7.10.4raisePropertyChanged222 7.10.5get_events223 7.10.6INotifyPropertyChange224 7.10.7INotifyDisposing224 7.11小结230 第8章开发客户端控件231 8.1Control231 8.1.1定义231 8.1.2get_element232 8.1.3get_id233 8.1.4set_id233 8.1.5set_parent233 8.1.6get_parent234 8.1.7get_visibilityMode234 8.1.8get_visible235 8.1.9set_visibilityMode235 8.1.10set_visible236 8.1.11addCssClass236 8.1.12removeCssClass236 8.1.13toggleCssClass237 8.1.14dispose237 8.1.15onBubbleEvent237 8.1.16raiseBubbleEvent238 8.2开发自定义客户端控件238 8.3客户端Label控件239 8.3.1构造函数239 8.3.2htmlEncode239 8.3.3text240 8.3.4prototype241 8.3.5descriptor241 8.4使用Label客户端控件242 8.5客户端Image控件244 8.5.1构造函数244 8.5.2prototype244 8.5.3imageURL245 8.5.4width245 8.5.5height246 8.5.6alternateText246 8.6使用Image客户端控件246 8.7扩展客户端Image控件248 8.7.1构造函数251 8.7.2prototype252 8.7.3imageURL252 8.7.4mouseOverImageURL253 8.7.5mouseOverCallback253 8.7.6mouseOutCallback254 8.7.7Duration254 8.7.8transition255 8.7.9Transition枚举类型255 8.7.10initialize256 8.7.11dispose256 8.8使用客户端Image2控件257 8.9HyperLink客户端控件259 8.9.1构造函数259 8.9.2prototype259 8.9.3navigateURL259 8.9.4initialize260 8.9.5add_click260 8.9.6remove_click261 8.9.7_onClick261 8.9.8dispose261 8.9.9descriptor262 8.10使用HyperLink客户端控件262 8.11小结264 第9章事件冒泡机制及客户端Button控件265 9.1CommandEventArgs265 9.2客户端Button控件266 9.2.1构造函数267 9.2.2prototype属性267 9.2.3argument属性267 9.2.4command属性268 9.2.5initialize方法268 9.2.6add_click方法269 9.2.7_onClick269 9.2.8dispose270 9.2.9descriptor270 9.3使用客户端Button控件271 9.3.1捕获一个冒泡的事件271 9.3.2冒泡一个事件276 9.4小结286 第10章类型描述扩展287 10.1TypeDescriptor287 10.1.1构造函数288 10.1.2getTypeDescriptor304 10.1.3getProperty308 10.1.4getAttribute310 10.1.5setProperty311 10.1.6invokeMethod315 10.1.7getPropertyType316 10.2使用ASP.NETAJAX类型描述能力317 10.2.1StringBuilder318 10.2.2CustomTable321 10.3动态注入元数据信息329 10.3.1addProperty329 10.3.2addMethod330 10.3.3addEvent331 10.3.4addAttribute332 10.4ICustomTypeDescriptor332 10.5小结334 第11章数据类335 11.1IData335 11.2DataColumn336 11.3DataRow339 11.3.1构造函数339 11.3.2descriptor340 11.3.3ICustomTypeDescriptor341 11.3.4Owner345 11.3.5INotifyPropertyChange346 11.4DataTable347 11.4.1构造函数347 11.4.2IData349 11.4.3Descriptor356 11.4.4INotifyPropertyChange357 11.4.5InotifyCollectionChanged359 11.4.6createRow362 11.4.7getChanges363 11.4.8getColumn364 11.4.9raiseRowChanged365 11.4.10parseFromJson365 11.5使用DataColumn、DataRow和DataTable367 11.6小结376 第12章客户-服务器通信377 12.1WebRequest377 12.1.1构造函数377 12.1.2目标URL378 12.1.3HTTP动作378 12.1.4请求体378 12.1.5超时379 12.1.6Web请求执行器379 12.1.7请求头380 12.1.8completed事件380 12.1.9调用一个Web请求381 12.2WebRequestExecutor382 12.2.1构造函数382 12.2.2WebRequest382 12.2.3get_started383 12.2.4get_responseAvailable383 12.2.5get_timedOut383 12.2.6get_aborted384 12.2.7get_responseData384 12.2.8get_statusCode384 12.2.9get_statusText384 12.2.10get_xml384 12.2.11get_object385 12.2.12executeRequest385 12.2.13abort385 12.2.14getResponseHeader385 12.2.15getAllResponseHeaders386 12.3WebRequestManager386 12.3.1构造函数386 12.3.2默认超时387 12.3.3默认执行器类型387 12.3.4事件387 12.3.5执行一个Web请求389 12.3.6NetworkRequestEventArgs390 12.4XMLHttpRequest391 12.5XMLDOM391 12.6XMLHttpExecutor392 12.6.1构造函数392 12.6.2get_timedOut395 12.6.3get_started395 12.6.4get_responseAvailable395 12.6.5get_aborted396 12.6.6执行请求396 12.6.7getResponseHeader398 12.6.8getAllResponseHeaders399 12.6.9get_responseData399 12.6.10get_statusCode400 12.6.11get_statusText400 12.6.12get_xml400 12.6.13abort401 12.7使用WebRequest、WebRequestManager和XMLHttpExecutor40212.8小结422 第13章通过SOAP消息使用Web服务423 13.1构建Web服务423 13.2WSDL文档424 13.2.1参数的名称、类型和顺序426 13.2.2返回值的类型和顺序426 13.2.3方法描述427 13.2.4描述访问方法的通信协议427 13.2.5指定访问方法的站点428 13.2.6指定方法类429 13.3SOAP消息429 13.4小结441 第14章通过JSON消息使用Web服务442 14.1WebServiceProxy442 14.1.1Timeout442 14.1.2默认成功回调函数442 14.1.3默认失败回调函数443 14.1.4路径443 14.1.5调用一个Web方法443 14.2使用WebServiceProxy454 14.3WebServiceError457 14.4使用WebServiceError460 14.5调用页面方法464 14.6调用自定义方法466 14.7底层机制472 14.7.1ScriptHandlerFactory472 14.7.2RestHandlerFactory476 14.7.3RestHandler478 14.7.4HandlerWrapper483 14.7.5页面方法揭秘484 14.7.6Web服务桥揭秘489 14.7.7使用这些复制品492 14.8小结494 第15章代理类495 15.1什么是代理?495 15.2代理类497 15.2.1和Web服务相关的代理类497 15.2.2和页面方法相关的代理类502 15.2.3和自定义类相关的代理类504 15.3自动代理类生成504 15.3.1声明式方法505 15.3.2命令式方法513 15.3.3父/子页面516 15.4底层机制518 15.4.1ScriptManager518 15.4.2ServiceReference522 15.4.3ClientProxyGenerator524 15.4.4RestClientProxyHandler540 15.5使用这些复制品541 15.6小结548 第16章行为549 16.1什么是行为?549 16.2Behavior类550 16.2.1Properties556 16.2.2实例方法559 16.2.3静态方法561 16.3ClickBehavior562 16.3.1descriptor563 16.3.2click事件563 16.3.3initialize564 16.3.4使用ClickBehavior564 16.4ASP.NETAJAX控件工具箱566 16.4.1BehaviorBase566 16.4.2TextBoxWatermarkBehavior571 16.5小结588 第17章服务器端script控件和extender控件589 17.1为什么需要服务器端script和extender控件589 17.2服务器extender控件590 17.2.1IExtenderControl591 17.2.2ExtenderControl591 17.3服务器script控件594 17.3.1IScriptControl594 17.3.2ScriptControl595 17.4ScriptDescriptor597 17.4.1ScriptComponentDescriptor598 17.4.2ScriptControlDescriptor609 17.4.3ScriptBehaviorDescriptor610 17.5ScriptReference611 17.6ScriptReferenceCollection612 17.7ScriptManager613 17.7.1Scripts618 17.7.2LoadScriptsBeforeUI618 17.7.3ScriptControls618 17.7.4RegisterScriptControl618 17.7.5ExtenderControls618 17.7.6RegisterExtenderControl619 17.7.7GetCurrent619 17.7.8OnInit619 17.7.9Page_PreRenderComplete619 17.7.10CollectScripts620 17.7.11AddScriptReferencesFor-ScriptControls621 17.7.12针对extender控件的RegisterScriptDescriptors622 17.8ResolveScriptReference事件623 17.9将所有综合在一起625 17.10开发一个自定义的服务器端extender控件626 17.10.1WatermarkText630 17.10.2WatermarkCssClass630 17.10.3ClientState631 17.10.4ClientStateFieldID631 17.10.5CreateClientStateField631 17.10.6BehaviorID631 17.10.7GetScriptReferences631 17.10.8GetScriptDescriptors631 17.10.9OnInit633 17.10.10Page_PreLoad633 17.10.11OnLoad634 17.10.12OnPreRender635 17.10.13Render636 17.10.14使用服务器端extender控件637 17.11开发一个script控件638 17.11.1PreRender641 17.11.2Render642 17.11.3使用服务器端script控件642 17.12服务器端script控件与服务器端extender控件643 17.13小结643 第18章Web服务桥和转换器644 18.1AmazonWeb服务644 18.2开发支持Web服务桥的服务器端script控件650 18.2.1AspNetAjaxAmazonSearch651 18.2.2AmazonSearchScriptControl658 18.2.3HtmlGenerator665 18.2.4HtmlGeneratorScriptControl669 18.2.5使用这些组件676 18.3转换器678 18.4使用转换器687 18.4.1XmlBridgeTransformer687 18.4.2XsltBridgeTransformer707 18.5小结714 第19章UpdatePanel和ScriptManager715 19.1让异步的局部页面更新成为可能715 19.2条件更新717 19.2.1子元素作为触发器719 19.2.2一个UpdatePanel包含在另一个UpdatePanel内720 19.2.3使用触发器729 19.2.4命令式更新731 19.3开发支持局部更新的自定义组合服务器控件733 19.3.1BaseMasterDetailControl734 19.3.2BaseMasterDetailControl2753 19.4小结756 第20章在用户控件和自定义控件中使用UpdatePanel757 20.1MasterDetailControl757 20.1.1CreateBaseDataBoundControl-Master759 20.1.2RegisterMasterEventHandlers759 20.1.3属性761 20.2在Web页面中使用MasterDetailControl761 20.3MasterDetailControl2765 20.3.1CreateBaseDataBoundControl-Master767 20.3.2RegisterMasterEventHandlers767 20.3.3Master_SelectedIndexChanged767 20.3.4Master_DataBound767 20.3.5属性768 20.4使用MasterDetailControl2768 20.5MasterDetailControl3770 20.6使用MasterDetailControl3771 20.7MasterDetailControl4773 20.8开发支持局部页面更新的数据控件域773 20.8.1扩展BoundField774 20.8.2覆盖InitializeDataCell778 20.8.3处理DataBound事件779 20.8.4从单元格中抽取值780 20.8.5外观属性780 20.8.6使用MasterDetailField780 20.9开发支持局部呈现的用户控件784 20.9.1显示所有消息794 20.9.2显示某消息的细节795 20.9.3删除一条消息796 20.9.4更新一条消息797 20.9.5回复一个消息797 20.9.6开始一个新线索798 20.10小结800 第21章页面生命周期和异步的局部页面呈现801 21.1处理一个请求801 21.2Page生命周期804 21.3第一次访问支持局部页面呈现的Web页面806 21.4InitRecursive806 21.4.1ScriptManager的OnInit方法807 21.4.2UpdatePanel的OnInit方法814 21.4.3模板化控件819 21.5LoadRecursive826 21.6Rendering847 21.6.1ScriptManager的Render方法848 21.6.2UpdatePanel的Render方法853 21.7小结855 第22章ASP.NETAJAX客户端PageRequestManager857 22.1实例化和初始化客户端PageRequestManager858 22.1.1客户端PageRequestManager的getInstance方法859 22.1.2客户端PageRequestManager类的构造函数860 22.1.3客户端PageRequestManager的_initializeInternal方法862 22.1.4_updateControls867 22.1.5客户端PageRequestManager的_pageLoadedInitialLoad方法871 22.1.6客户端PageRequestManager的_pageLoaded方法871 22.2pageLoaded事件873 22.3生成一个异步页面回传889 22.3.1辅助方法889 22.3.2_doPostBack894 22.3.3_onFormSubmit898 22.4initializeRequest事件906 22.5beginRequest事件913 22.6小结918 第23章异步局部页面呈现:服务器端处理919 23.1RetrievePostData919 23.2LoadScrollPosition922 23.3InitRecursive924 23.3.1PageRequestManager的IsAsyncPostBackRequest方法924 23.3.2PageRequestManager的OnInit方法925 23.4LoadPostData生命周期阶段925 23.4.1UpdatePanel929 23.4.2ScriptManager929 23.4.3PageRequestManager的LoadPostData方法930 23.5RaisePostDataChangedEvent生命周期阶段932 23.6PreRender生命周期阶段933 23.7Rendering生命周期阶段934 23.7.1PageRequestManager的编码方法935 23.7.2PageRequestManager的RenderPageCallback方法936 23.8服务器响应969 23.9小结981 第24章异步局部页面呈现:客户端处理982 24.1服务器响应文本的到达982 24.2PageRequestManager的_updatePanel方法1005 24.3PageRequestManager的registerDisposeScript方法1006 24.4_destroyTree方法1007 24.5_ScriptLoader类1008 24.5.1readLoadedScripts1008 24.5.2getInstance方法1009 24.5.3queueScriptBlock方法1009 24.5.4queueCustomScriptTag方法1009 24.5.5isScriptLoaded方法1010 24.5.6_getLoadedScript方法1010 24.5.7queueScriptReference方法1010 24.5.8loadScripts方法1011 24.5.9_loadScriptsInternal方法1012 24.5.10_createScriptElement方法1014 24.5.11_ScriptLoader类的构造函数1014 24.5.12_scriptLoaderHandler方法1014 24.6_ScriptLoaderTask类1015 24.6.1_ScriptLoaderTask类的构造函数1015 24.6.2execute方法1016 24.6.3_scriptLoadHandler方法1017 24.7_scriptsLoadComplete方法1017 24.8_endPostBack方法1020 24.9pageLoading事件1025 24.10pageLoaded事件1043 24.11endRequest事件1045 24.12小结1061 附录AXML脚本1062 附录B绑定1104 附录C动作1116 附录D数据控件1129 附录E模板化控件1150 附录FListView1173 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。