×¢²á | µÇ¼ Íü¼ÇÃÜÂ룿 51ctoÊ×Ò³ | ²©¿Í | ÂÛ̳ | ÕÐÆ¸
ÈȵãÎÄÕ ¿ÆÆÕϵÁÐÖ®-ʹÓÃWindowsµÄ..
¡¡°ïÖú

ASP.NET+Atlas´´½¨¿Í»§¶ËWebÓ¦ÓóÌÐò


1970-01-01 08:00:00
¡¡±êÇ©£º.NET ASP ¿Í»§¶Ë Atlas¡¡¡¡¡¡[ÍÆË͵½¼¼ÊõȦ]

°æÈ¨ÉùÃ÷£ºÔ­´´×÷Æ·£¬ÈçÐè×ªÔØ£¬ÇëÓë×÷ÕßÁªÏµ¡£·ñÔò½«×·¾¿·¨ÂÉÔðÈΡ£
ÌáÒª ±¾ÎĽéÉÜÁËAtlas¿ò¼Ü£¬²¢Ì½ÌÖËüµÄ¿Í»§¶ËºÍ·þÎñÆ÷¶ËÀà¿â¼°Æä±à³ÌÄ£ÐÍ¡£ÁíÍ⣬±¾ÎÄ»¹ÏêϸÆÊÎöÁËÒ»¸öÖ§³ÖAtlas¹¦ÄܵÄʾÀýWebÓ¦ÓóÌÐò¡£

¡¡¡¡Ò»¡¢ ¿ª·¢»·¾³ËµÃ÷

¡¡¡¡±¾ÎÄÖÐËùÌṩµÄÐÅÏ¢ÊÊÓÃÓÚÏÂÁм¼Êõ£ºAsp.net 2.0£¬Asp.net Atlas CTP£¬Visual Studio Professional 2005ºÍVisual Web Developer 2005¡£

¡¡¡¡¶þ¡¢ ¼ò½é

¡¡¡¡AtlasÊÇÒ»¸ö¿ò¼ÜµÄ´úºÅ£¬¸Ã¿ò¼Ü¶ÔÓÚ¿Í»§¶ËWebÓ¦ÓóÌÐòµÄ¿ª·¢·½ÃæÀ©Õ¹ÁËasp.net¡£¸Ã¿ò¼ÜÔÚÌṩһ×é¿Í»§¶ËºÍ·þÎñÆ÷¶ËÀàÀ´´´½¨¿çä¯ÀÀÆ÷¼æÈݵÄAJAX·ç¸ñµÄÓ¦ÓóÌÐòµÄͬʱ£¬»¹ÒýÈëÁËÆäËüÌØÕ÷£¬ÀýÈçÇŽӼ¼Êõ£¬gadget£¬Ò»¸öJavaScriptµÄÉùÃ÷ÐԽű¾Ä£ÐͺÍÀ©Õ¹¡£

¡¡¡¡±¾ÎĽ«½éÉÜAtlas¿ò¼Ü²¢Ì½ÌÖËüµÄ¿Í»§¶ËºÍ·þÎñÆ÷¶ËÀà¿â¼°Æä±à³ÌÄ£ÐÍ¡£ÁíÍ⣬±¾ÎÄ»¹ÏêϸÆÊÎöÁËÒ»¸öÖ§³ÖAtlas¹¦ÄܵÄʾÀýWebÓ¦ÓóÌÐò¡£

¡¡¡¡Èý¡¢ »ùÓÚ¿Í»§¶ËºÍ·þÎñÆ÷¶ËµÄWebÓ¦ÓóÌÐò

¡¡¡¡ÏÖÔÚ£¬WebÓ¦ÓóÌÐò¿ª·¢Ö÷ÒªÕë¶ÔÓÚhttp¿Í»§¶Ë(ä¯ÀÀÆ÷)ºÍ·þÎñÆ÷¿ª·¢¡£Asp.net WebÓ¦ÓóÌÐòÊÇ»ùÓÚ·þÎñÆ÷µÄ£¨ÔÚ¸ÃÖ÷»úÉÏÔËÐУ©£¬Òò´Ë£¬¶ÔÓÚÓÉÔÚ¿Í»§¶ËÉϵÄÒ»¸ö·þÎñÆ÷¿Ø¼þ¼¤·¢µÄÿһ¸öʼþ¶¼ÒªÇóÒ»¸öÍêÕûµÄ»Ø¼Ä¡£ÕâÑùµÄÇéÐοÉÒÔÓÃͼ1ËùʾÀ´ÃèÊö¡£


ͼ1.Ò»¸öÕë¶Ôasp.net WebÓ¦ÓóÌÐòµÄhttp»ØÀ¡

¡¡¡¡Ö»ÔÚ·þÎñÆ÷¶ËÔËÐÐWebÓ¦ÓóÌÐò£¬¶ø¼¸ºõ²»ÐèÒª£¨»òºÜÉÙÐèÒª£©¿Í»§¶Ë´¦Àí£¬²¢ÇÒ²»»áÔì³ÉÐÔÄÜϽµ¡£²»¹ý£¬ÆäȱµãÒ²ºÜÈÝÒ×ÔÚÒ»¸öasp.net WebÓ¦ÓóÌÐò·¢ÏÖ£ºÒ»¸öÉÁ˸µÄ¡¢ÔÝÍ£µÄ¡¢²»¾ßÓÐÏìÓ¦ÐԵĺÍÏà¶Ô¿ÉÁ¯µÄUI£»»òÕßÊÇ£¬ÓÉÓÚÊý¾Ý»Ø¼ÄºÍ·þÎñÆ÷¹ýÔØ¶øµ¼ÖÂÒ»¸ö·±Ã¦µÄÏß·¡£

¡¡¡¡ÒªÔÚasp.netÓ¦ÓóÌÐò½â¾öÕâЩÐÔÄÜÕϰ­Òâζ×Å£¬±ØÐë°ÑһЩ¼ÓÔØ´¦ÀíÒÆµ½¿Í»§¶Ë²¢ÇÒÀûÓÿͻ§¶Ëƽ̨ËùÌṩµÄ¼¼Êõ¡£¿Í»§¶Ëƽ̨ÊÇ¿ÉÒÔͨ¹ý½Å±¾½øÐбà³ÌµÄ£¬¶øJavaScript¾ÍÊÇÊʺÏÓÚÕâÖÖÈÎÎñµÄÒ»ÖÖ±ê×¼µÄÃæÏò¶ÔÏóµÄ±à³ÌÓïÑÔ¡£

¡¡¡¡ÄÇô£¬ÉÏÃæÕâЩ¿Í»§¶Ëƽ̨¼¼ÊõÖ¸µÄÊÇÊ²Ã´ÄØ£¿ÕâЩ¿Í»§¶Ëƽ̨(ä¯ÀÀÆ÷)ÌṩÁËÏÂÁм¼Êõ£º

¡¡¡¡¡¤ Îĵµ¶ÔÏóÄ£ÐÍ£ºÒ»ÖÖ±ê×¼»¯µÄÓïÑÔ¶ÀÁ¢µÄÒ»×é¶ÔÏ󼯺ϣ¬ÔÊÐí¿ª·¢Õß¶¯Ì¬µØ¿ØÖÆHTMLÎĵµµÄ½á¹¹¡¢ÄÚÈݺͷç¸ñ¡£

¡¡¡¡¡¤ ¶¯Ì¬µÄ³¬Îı¾±ê¼ÇÓïÑÔ¶ÔÏóÄ£ÐÍ£ºÒ»¸öä¯ÀÀÆ÷¹©Ó¦ÉÌÌØ¶¨µÄÌØÕ÷¼¯ºÏ£¬¿ÉÒÔÓÃ×÷DOMµÄÒ»¸öÀ©Õ¹¡£Êý¾Ý°ó¶¨¡¢UIЧ¹û£¨ÀýÈç¹ýÂËÆ÷ºÍ¹ý¶É£©¡¢HTMLÔªËØÐÐΪºÍʼþ¶¼ÊÇÔÚÕâ¸ö¶ÔÏóÄ£ÐÍÄÚ²¿ËùÌṩµÄÒ»Ð©ÌØÕ÷¡£

¡¡¡¡¡¤ XmlHttpRequest¶ÔÏó£ºËüÔÊÐíͨ¹ýHttp¼ìË÷ºÍÌá½»XMLÊý¾Ý¶ø²»ÒªÇóÒ»ÖÖÕû¸öWebÎĵµµÄÍêÕûµÄ»ØÀ¡»òÖØÐÂÉú³É¡£

¡¡¡¡¡¤ Ò»¸öJavaScript½âÊÍÆ÷£º°üº¬ÔÚËùÓеÄWebä¯ÀÀÆ÷ÖУ¬ÓÉËü´¦ÀíÓÃJavaScriptÊéдµÄÃüÁî¡£JScriptÊÇ΢Èí°æ±¾µÄJavaScript£¬Ëü×î³õÓÉNetscapeËù´´½¨¡£Á½ÖÖ°æ±¾¶¼×ñÑ­ECMAScript±ê×¼¡ª¹©Ó¦ÉÌÖÐÁ¢µÄ£¬¿çƽ̨µÄ£¬Í¨ÓÃÄ¿µÄµÄ½Å±¾ÓïÑÔ¡£

¡¡¡¡ÕâЩ¼¼ÊõºÏÔÚÒ»Æð±»³ÆÎªAJAX£¬´ú±íµÄÒâ˼ÊÇÒì²½JavaScript+XML£»¶øAtlasÕýÊÇÒ»ÖÖÀûÓÃÕâЩ¼¼ÊõµÄ´´½¨WebÓ¦ÓóÌÐòµÄ¿ò¼Ü¡£ÏÂÃæµÄͼ2չʾÁËÒ»¸öÖ§³ÖAtlas¼¼ÊõµÄasp.net WebÓ¦ÓóÌÐò¡£

µã»÷·Å´ó´ËͼƬ
ͼ2.HttpÇëÇóºÍÏìÓ¦Ò»¸öÖ§³ÖAtlas¼¼ÊõµÄ£¬»ùÓÚ¿Í»§¶ËµÄasp.net WebÓ¦ÓóÌÐò

¡¡¡¡ËÄ¡¢ Atlas¿ò¼Ü¸ÅÒª

¡¡¡¡¸Ã¿ò¼Ü°üº¬ÁËMicrosoft.Web.Atlas.dll×°Å伯£¬Ëü°üº¬ÁË·þÎñÆ÷¶ËÍйܵĺͿͻ§¶ËJavaScript API¡£
ÏÂͼ3չʾÁËVisual StudioµÄ¶ÔÏóä¯ÀÀÆ÷´°¿ÚÖеÄAtlasÃüÃû¿Õ¼ä¡£

µã»÷·Å´ó´ËͼƬ
ͼ3.ÔÚMicrosoft.Web.Atlas.dll×°Å伯ÖеÄÃüÃû¿Õ¼ä

¡¡¡¡(Ò») ·þÎñÆ÷¶Ë¿â

¡¡¡¡ÔÚͼ3¿ò¼ÜÖÐչʾµÄÃüÃû¿Õ¼äÖÐÌṩµÄ¸÷ÖÖÀൣÈηþÎñÆ÷¶Ë¿â¡£¸Ã¿âÌṩÓë¿Í»§¶ËJavaScript APIÒ»Æð¹¤×÷µÄÅäÖá¢Web·þÎñºÍ¿Ø¼þÀà¡£

¡¡¡¡¸ÃWeb·þÎñÀà°Ñasp.netÌØÕ÷£¬ÀýÈçÈÏÖ¤¡¢ÂÖÀª¡¢ÎÄ»¯ºÍÈ«Çò»¯µÈÐÅÏ¢£¬±©Â¶¸ø¿Í»§¶ËJavaScript´úÂëÒÔ±ã½øÐÐÒì²½´æÈ¡¡£ÁíÒ»·½Ã棬Atlas·þÎñÆ÷¿Ø¼þÀ࣬ÔÚÉú³ÉÕâЩ¿Ø¼þʱÄܹ»¡°·¢³ö¡±JavaScript£¬´Ó¶øÊ¹¿ª·¢ÕßÃâÓÚ±àд¸´ÔӵĿͻ§¶Ë½Å±¾¡£

¡¡¡¡·þÎñÆ÷¶Ë¿â»¹ÌṩAtlas extender¿Ø¼þ£¬ËüÄܹ»Ìṩ¸øasp.net¿Ø¼þÆäËü¿Í»§¶Ë¹¦ÄÜ¡£

¡¡¡¡ÏÂÁпؼþÊÇ·þÎñÆ÷¶Ë¿âµÄÒ»²¿·Ö£º

¡¡¡¡¡¤ ScriptManager¿Ø¼þ£ºÌṩÁËÔÚÒ»¸öWebÒ³ÃæÉϵÄËùÓеÄAtlasÌØÕ÷£¬ÀýÈ粿·ÖÒ³Ãæ¸üУ¬¶¨ÖƺͿâ¿Í»§¶Ë½Å±¾²Î¿¼ºÍÉú³É£¬Õë¶Ô¿Í»§¶ËÒì²½´æÈ¡µÄWeb·þÎñÒýÓ㬶øÒì³£´¦ÀíÊÇÓɸÿؼþ¹ÜÀíµÄ¡£Ã¿Ò»¸öÐèҪʵÏÖAtlas¹¦ÄܵÄasp.net WebÒ³Ãæ»òÓû§¿Ø¼þ¶¼ÐèÒªÉùÃ÷Õâ¸ö¿Ø¼þµÄµ¥¸öʵÀý¡£ÎªÁËÔÚÒ»¸öÒ³ÃæÉÏʹÓÃScriptManager¿Ø¼þ£¬Äã¿ÉÒÔʹÓÃÏÂÁÐÉùÃ÷ÐÔÓï·¨£º

£¼atlas:ScriptManager
ID="ScriptManager instance identifier"
£¼!--enables or disables partial page rendering using UpdatePanel controls--£¾
EnablePartialRendering="boolean true or false"

£¼!--If set to false the AtlasRuntime.js file£¬ which provides basic 'Atlas functionality is referenced by default.
If set to true the Atlas.js file£¬ which provides the entire Atlas feature set is referenced by default.
The default value is true--£¾
EnableScriptComponents="boolean true or false"

OnPageError="invoked event handler on PageError "
runat="server" £¾

£¼Scripts£¾
£¼atlas:ScriptReference
£¼!--to reference custom script files--£¾
Path="path to .js file"
£¼!--to reference client library files that are not included automatically--£¾
ScriptName="name of script file e.g. AtlasUIGlitz"/£¾
£¼/Scripts£¾
£¼Services£¾
£¼atlas:ServiceReference
£¼!--If set to true the control generates a JavaScript proxy object for asynchronous access for the referenced Web Service.
If set to false it doesn't.--£¾
GenerateProxy="boolean true or false"

Path="path to a Web service (e.g. asmx) file"
Type="Web service class name"
/£¾
£¼/Services£¾
£¼ErrorTemplate£¾
£¼!--Markup for rendering unhandled exception messages for asynchronous postback.
Partial rendering should be enabled. The template has to define an input button with an attributes ID of value "okButton" and runat of value "server" to close the message. --£¾
£¼/ErrorTemplate£¾
£¼/atlas:ScriptManager£¾

¡¡¡¡¡¤ ScriptManagerProxy¿Ø¼þ£º¶ÔÓÚÄÚÈÝÒ³ÃæºÍÓû§¿Ø¼þÀ´Ëµ£¬Èç¹ûËüÃǵĸ¸Ò³ÃæÒѾ­ÓµÓÐÒ»¸ö¶¨ÒåºÃµÄScriptManager¿Ø¼þ£¬ÄÇôÕâ¸ö¿Ø¼þ¿ÉÒÔÓÃÓڲο¼ÆäËü½Å±¾ºÍ·þÎñ¡£µ«ÊÇ£¬¸Ã¿Ø¼þ²»Äܱ»ScriptManager¿Ø¼þÓÃÓÚɾ³ý½Å±¾ºÍ·þÎñ²Î¿¼¡£

¡¡¡¡¡¤ UpdatePanel¿Ø¼þ£ºµ±Í¨¹ýScriptManager¿Ø¼þÖ§³ÖÒ»¸öWebÒ³ÃæµÄ²¿·ÖÉú³Éʱ£¬UpdatePanel¿Ø¼þ¿ÉÒÔÓÃÓÚÖ¸¶¨Ò³ÃæÉϵÄÇøÓò¡ªÄܹ»±»¶ÀÁ¢µØÊ¹ÓÃÒì²½»ØÀ¡½øÐиüС£ÏÂÁÐÉùÃ÷ÐÔÓï·¨ÓÃÓÚÔÚÒ»¸öWebÒ³ÃæÖж¨ÒåÒ»¸öUpdatePanel¿Ø¼þ£º

£¼atlas:UpdatePanel
ID="UpdatePanel instance identifier"
£¼!-- If Mode attribute is set to Always asynchronous postbacks triggered within the region update its contents automatically;
If it is set to Conditional the region is updated in response to a registered trigger --£¾
Mode="Always|Conditional"
£¼!-- If RenderMode attribute is set to Block the content within the UpdatePanel is rendered using a £¼DIV£¾ element;
If it is set to Inline a £¼SPAN£¾ element is used as a container for the content within the UpadatePanel --£¾
RenderMode="Block|Inline"
runat="server"£¾
£¼ContentTemplate£¾
£¼!-- Content to be rendered within the region--£¾
£¼/ContentTemplate£¾
£¼!a€¡±A Collection of objects that trigger an asynchronous update on the panel. These Objects don't need to be declared within the region. --£¾
£¼Triggers£¾

£¼ControlValueTrigger
ControlID="object instance identifier"
PropertyName="property value that triggers the update"/£¾
£¼ControlEventTrigger
ControlID="object instance identifier"
EventName="the name of the event that triggers the update"/£¾
£¼/Triggers£¾
£¼/atlas:UpdatePanel£¾

¡¡¡¡¡¤ TimerControl£ºËüÔÚ¿Í»§¶ËÉú³ÉÒ»¸ö¶¨Ê±Æ÷£¬Óɸÿͻ§¶ËÒÔÖ¸¶¨µÄʱ¼ä¼ä¸ô´¥·¢Òì²½»ØÀ¡¡£¸Ã¿Ø¼þͨ³£ÓÃ×÷Ò»¸öÒªÇó¶¨Ê±¸üÐÂÄÚÈݵÄUpdatePanelat¿Ø¼þµÄ´¥·¢Æ÷¿Ø¼þ¡£ÎªÁËÒÔÉùÃ÷·½Ê½¶¨ÒåÕâ¸ö¿Ø¼þ£¬ÐèҪʹÓÃÏÂÁÐÓï·¨£º

£¼atlas:TimerControl Enabled="boolean true or false" ID="Control instance identifier"
£¼!--If the Enabled property is set to true the control is defined on the client-side. If not it isn't.--£¾
Interval="Interval in milliseconds. the default is 60000."
OnTick="invoked server-side event handler name" runat="server"/£¾

¡¡¡¡¡¤ Extender¿Ø¼þ£ºËüÃÇʹÓÃÔö¼ÓµÄ¿Í»§¶Ë¹¦ÄÜÀ©Õ¹asp.net¿Ø¼þ¡£ÀýÈ磬AutoCompleteExtender¿Ø¼þÖ§³Öasp.netÎı¾¿ò¿Ø¼þµÄ×Ô¶¯Íê³ÉÐÐΪ£¬¶øDragOverlayExtender¿Ø¼þÖ§³ÖÍ϶¯ÐÐΪ¡£

¡¡¡¡¡¤ ¿ª·¢Õß»¹¿ÉÒÔʹÓÃÒ»¸öÓëAtlas¿Ø¼þ¹¤¾ßÏäһͬÌṩµÄVisual studio 2005¹¤³ÌÄ£°å´´½¨¶¨ÖƵÄasp.net Atlas¿Ø¼þÀ©Õ¹Æ÷¡£

¡¡¡¡(¶þ) ¿Í»§¶Ë¿â

¡¡¡¡¿Í»§¶Ë¿â°üÀ¨Ò»×é(.js)JavaScriptÎļþ£¬ËüÃDZ»´ò°üΪMicrosoft.Web.Atlas.dll×°Å伯ÖеÄ×ÊÔ´¡£
°üº¬ÔÚÕâ¸öÀà¿âÖеĶÔÏóÌṩÁËÏÂÁÐÌØÕ÷£º

¡¡¡¡¡¤ JavaScriptÓïÑÔÀ©Õ¹£ºÔÊÐí¿ª·¢ÕßÒÔJavaScript±à³Ì£¬¶øÍ¬Ê±»¹ÄÜʹÓÃʹÓÃOO½á¹¹£¬ÀýÈçÃüÃû¿Õ¼ä¡¢Àࡢö¾Ù¡¢½Ó¿ÚºÍÊý¾ÝÀàÐÍ¡£

¡¡¡¡¡¤ JavaScript»ù¿âÀ©Õ¹£ºÕâ°üÀ¨ÓÃÓÚµ÷ÊÔ£¬¸ú×ÙºÍ×Ö·û´®²Ù×÷µÄÆäËü¶ÔÏó¡£

¡¡¡¡¡¤ ä¯ÀÀÆ÷¼æÈÝÐÔ£º¶ÔÓÚ¶¨Öƽű¾ºÍÓÉAtlas¿Ø¼þÉú³ÉµÄ½Å±¾µÄ×Ô¶¯ä¯ÀÀÆ÷¿ÉÒÆÖ²ÐÔ¡£

¡¡¡¡¡¤ ÍøÂ繦ÄÜ£ºÓÉλÓÚSys.NetÃüÃû¿Õ¼äÄÚ²¿µÄ¶ÔÏóÌṩ¡£ÕâЩ¹¦ÄÜʹµÃÓëÖ÷»úµÄÒ첽ͨѶºÍÖ´ÐÐÔ¶³Ì·½·¨µÄ±à³ÌÏ൱ÈÝÒס£

¡¡¡¡¡¤ HTML¿Ø¼þ°ü×°Æ÷£ºËüÃÇÔÊÐí¿ª·¢ÕßʹÓÃxml½Å±¾Ìí¼ÓÌØÕ÷¡ªÀýÈçÊý¾Ý°ó¶¨£¬ÐÐΪÒÔ¼°µ½Ðí¶àHTML¿Ø¼þºÍÔªËØµÄ¶¯×÷¡£

¡¡¡¡¡¤ Atlas¿Í»§¶Ë¿Ø¼þ£ºÖ§³Ö¿ª·¢ÕßʹÓÃJavaScript»òXML½Å±¾´´½¨·á¸»µÄÓ¦ÓóÌÐò£»ÕâЩ°üÀ¨ÔÚSys.UI.DataÃüÃû¿Õ¼äÄÚ²¿µÄ¿Ø¼þ£¬ÀýÈçListView£¬DataNavigator£¬ItemView£¬XSLTView£¬µÈµÈ¡£

¡¡¡¡¡¤ Xml-Script£ºÒ»¸öÉùÃ÷ÐԽű¾Ä£ÐÍ£¬ËüÔÊÐí¿ª·¢ÕßʹÓÃÒ»ÖÖÀàËÆÓÚasp.netµÄ±à³ÌÄ£ÐÍÊéд¿Í»§¶Ë´úÂë¡£AtlasÉùÃ÷ÐԽű¾±»Ê¹ÓÃÏÂÁÐÓï·¨¶¨ÒåÔÚ£¼script£¾£¼/script£¾±êÇ©ÄÚ²¿£º

£¼script type="text/xml-script"£¾
£¼page xmlns:script="http://schemas.microsoft.com/xml-script/2005"£¾
£¼references£¾
£¼/references£¾
£¼components£¾
£¼/components£¾
£¼/page£¾
£¼/script£¾

¡¡¡¡Õû¸ö¿Í»§¶Ë¿â¶¼°üº¬ÔÚAtlas.jsÎļþÖУ¬²¢ÇÒµ±ÔÚÒ»¸öÒ³ÃæÖж¨ÒåÒ»¸öScriptManager¿Ø¼þʱ±»Ä¬Èϵزο¼¡£ÁíÍâµØ£¬ÎªÁ˼õÉÙÔÚ¿Í»§¶ËÉú³ÉµÄ½Å±¾µÄÊýÁ¿£¬ÎÒÃÇ¿ÉÒÔ°ÑScriptManager¿Ø¼þµÄEnableScriptComponentsÉèÖÃΪfalse²¢ÇÒʹÓðüº¬ÔÚAtlasRuntime.jsÎļþÖеĸÿâµÄÒ»¸ö¼ò»¯°æ±¾¡£ÁíÍ⣬רÃŵĿâÎļþ£¬ÀýÈçAtlasDragandDrop.js£¬AtlasUIMap.js£¬AtlasUIGlitz.jsµÈµÈ£¬¶¼¿ÉÒÔ°´ÃûʹÓÃScriptManager¿Ø¼þµÄ½Å±¾¼¯ºÏÊôÐÔ½øÐÐÒýÓá£
¡¡Îå¡¢ Mash-upºÍGadget£¨widget£©

¡¡¡¡AtlasÖÐÒýÈëÁËÁ½ÖÖеÄÌØÕ÷£ºÇŽӼ¼ÊõºÍgadget¡£ÇŽӼ¼ÊõÔÊÐíWebÓ¦ÓóÌÐòÏû·ÑÀ´×Ô¶àÖÖÔ¶³ÌWeb·þÎñµÄÊý¾Ý¡ªµ±Á¬½Óµ½Ò»¸öµ¥Ò»µÄÖ÷»úÉÏʱ¡£ÕâЩÏû·ÑÒ»¸ö»ò¸ü¶àµÄÔ¶³Ì·þÎñµÄWebÓ¦ÓóÌÐòͨ³£±»³Æ×÷ÊÇMash-up¡£ÎªÁËʵÏÖÕâһĿµÄ£¬¸Ã¿ò¼ÜÒýÈëÁËÇŽÓÎļþ£¬ÒÔ.asbxÀ©Õ¹Ãû±êÖ¾¡£Æäʵ£¬ÇŽÓÎļþÊÇXMLÎļþ¡ªÔÊÐíÎÒÃÇÒÔÉùÃ÷·½Ê½À´¶¨Òåµ½·þÎñµÄÁ¬½Ó²¢ÊµÏÖÊý¾Ýת»»¡£ÏÂͼ4չʾÁËÒ»¸öͨ¹ýAtlasÇŽӼ¼ÊõÏû·Ñ(mashing-up)À´×Ô¶àÖÖÔ¶³ÌWeb·þÎñÉϵÄÊý¾ÝµÄWebÓ¦ÓóÌÐò£º

µã»÷·Å´ó´ËͼƬ
ͼ4.Ïû·ÑÀ´×Ô¶àÖÖÔ¶³Ì·þÎñµÄÊý¾Ý

¡¡¡¡¶ÔÓÚ²»Í¬µÄƽ̨´æÔÚ²»Í¬ÀàÐ͵Ägadget¡£Ò»¸ö»ùÓÚwebµÄgadgetÊÇÒ»¸ö¿ÉÒÆÖ²µÄwebÓ¦ÓóÌÐò¡ªÄܹ»±»·¢²¼µ½ÈκÎgadgetËÞÖ÷ÍøÕ¾ÉÏ£¬ÀýÈ磬live.com»òstart.com¡£Ò»¸ö»ùÓÚwebµÄgadgetµÄ×é³ÉÈçÏ£º

¡¡¡¡¡¤ Ò»¸öXmlÉùÃ÷£ºËü°üº¬¸Ãgadget±¾ÉíµÄÐÅÏ¢£¨±êÌ⣬ÃèÊö£¬³ö°æÉÌ£¬¹¹½¨ÐÅÏ¢£¬µÈµÈ£©ÒÔ¼°µ½¸Ãgadget×é¼þµÄÁ´½Ó£¨.jssºÍ.cssÎļþ£©¡£ÏÂÁÐÊÇÒ»¸öÕë¶ÔÒ»¸öÐé¹¹µÄgadget£¨widget£©µÄʾÀýmanifestÎļþ£º

£¼?xml version="1.0" ?£¾
£¼rss version="2.0" xmlns:binding="http://live.com"£¾
£¼channel£¾
£¼title£¾Widget alpha£¼/title£¾
£¼link£¾http://www.contoso.com£¼/link£¾
£¼description£¾What does this gadget do?£¼/description£¾
£¼language£¾en-gb£¼/language£¾
£¼pubDate£¾Date£¼/pubDate£¾
£¼!--Javascript function entry point; used by the host to load the gadget . --£¾
£¼binding:type£¾Widget.alpha£¼/binding:type£¾
£¼item£¾
£¼description£¾The JavaScript code component£¼/description£¾
£¼link£¾http://www.contoso.com/Gadgets/Widget/alpha.js£¼/link£¾
£¼/item£¾
£¼item£¾
£¼description£¾This adds style to the gadget£¼/description£¾
£¼link£¾http://www.contoso.com/Gadgets/Widget/alpha.css£¼/link£¾
£¼/item£¾
£¼/channel£¾
£¼/rss£¾

¡¡¡¡¡¤ JavaScript´úÂ룺°üº¬ÔÚ¸ÃmanifestÎļþÁ´½Óµ½µÄ.jsÎļþÖУ»Ëü¶¨Ò彫±»ËÞÖ÷µÄ¿ÉÒÆÖ²×é¼þ¡£

¡¡¡¡¡¤ ʽÑù±í£ºËü¶¨ÒåÖ÷»úÓÃÀ´Éú³ÉÉÏÃægadgetµÄʽÑù¡£

¡¡¡¡Áù¡¢ ²âÊÔÇý¶¯µÄ¿ò¼Ü

¡¡¡¡±¾ÎĽ«ÔÚasp.netÓ¦ÓóÌÐòÖÐʹÓÃAtlas UpdatePanel¿Ø¼þºÍ²¿·ÖÒ³ÃæÉú³É¼¼Êõ¡£

¡¡¡¡ÕâÀïËùÌṩµÄʾÀýÊÇÒ»¸öAmazonµç×ÓÉÌÎñ·þÎñWeb¿Í»§¶ËÓ¦ÓóÌÐò£¬ËüʹÓÃCity£¬CuisineºÍNeighbourhoodËÑË÷²ÎÊýÀ´ËÑË÷ÔÚÕû¸öÃÀ¹úµÄ²Í¹Ý¡£¸ÃʾÀýÓ¦ÓóÌÐòʹÓÃÁËÒ»¸öUpdatePanel¿Ø¼þÀ´½øÐÐÒì²½»ØÀ¡ºÍ²¿·ÖÒ³ÃæÉú³É£»´Ó¶øÊ¹Ó¦ÓóÌÐò¸üΪѸËٺ͸ü¾ß½»»¥ÐÔÒԸĽøÓû§ÌåÑé¡£

¡¡¡¡(Ò») ÐèÇó

¡¡¡¡¡¤ ΢ÈíVisual Studio 2005£¬.Net¿ò¼Ü2.0¼°×îеÄAtlas CTP¡£

¡¡¡¡¡¤ ×¢²á(Ãâ·Ñ)Amazon Web·þÎñÒÔÈ¡µÃ´æÈ¡¼üID¡ªÓÃËüÀ´´æÈ¡¸Ãµç×ÓÉÌÎñ·þÎñ¡£

¡¡¡¡(¶þ) ÅäÖÃÍøÕ¾

¡¡¡¡Í¨¹ýʹÓÃÓë¿ò¼ÜµÄCTPÒ»Æð°²×°µÄAtlas¹¤³ÌÄ£°å´´½¨Ò»¸öеÄÍøÕ¾£º

¡¡¡¡1. ´ò¿ªVisual studio 2005¡£

¡¡¡¡2. µã»÷¡°Îļþ¡±²Ëµ¥£¬Ñ¡Ôñ¡°Ð½¨¡±£¬È»ºóµã»÷Website¡£

¡¡¡¡3. ´Ó¡°New Web site¡±¶Ô»°¿òÖÐÑ¡Ôñ¡°Atlas project¡±Ä£°å£¬Î»Ö㬹¤³ÌÃûºÍ¿ª·¢ÓïÑÔ(VB»òC#)¡£±¾ÀýÖÐËùʹÓõÄÓïÑÔΪC#¡£

¡¡¡¡ÏÂÃæµÄͼ5ÏÔʾÁËÔÚVisual Studio 2005Öеġ°New Web Site¡±¶Ô»°¿ò¡£


ͼ5.¡°New Web Site¡±¶Ô»°¿ò´°¿Ú

¡¡¡¡(Èý) ΪSOAPÇëÇóÅäÖ÷þÎñ

¡¡¡¡1. µÇ¼µ½ÄãʹÓÃAmazon Web·þÎñ´´½¨µÄÕÊ»§²¢ÇÒʹÓÃÌṩµÄÁ´½ÓÀ´±£´æµ½ÄãµÄ¼ÆËã»úÉϵÄWSDLÎļþÖС£

¡¡¡¡2. ´Ó.Net¿ò¼Ü2.0 SDKÃüÁîÌáʾ´°ÏÂʹÓÃWSDL.exe¹¤¾ßΪÄãÔÚµÚ£±²½±£´æµÄWSDLÖеķþÎñÉú³ÉÒ»¸ö´úÀíÀࣺ

¡¡¡¡Wsdl £¼options£¾ £¼URL | path£¾

¡¡¡¡3. ´ÓÄãÓÃVisual Studio´´½¨µÄ¹¤³ÌÖдò¿ªSolution Explorer´°¿Ú£¬²¢ÓÒ»÷¹¤³ÌÎļþ£¬Ö¸Ïò¡°Add asp.net¡±Îļþ¼Ð²¢ÇÒµã»÷¡°App-Code¡±¡£

¡¡¡¡4. ÓÒ»÷Solutions Explorer´°¿ÚÖеġ°App-Code¡±Îļþ¼Ð²¢ÇÒµã»÷¡°Add Existing Item¡±¡£

¡¡¡¡5. ´Ó¡°Add Existing Item¡±¶Ô»°¿òÖÐä¯ÀÀµ½ÄãÇ°ÃæËù´´½¨µÄ´úÀíÎļþ£¬Ñ¡ÔñËü²¢ÇÒµã»÷¡°Add¡±£»Õ⽫°Ñ·þÎñ´úÀíÎļþÌí¼Óµ½¹¤³ÌÖС£
¡¡(ËÄ) ´´½¨¿Í»§¶ËUI

¡¡¡¡1. ÔÚSolutions ExplorerÖУ¬Ë«»÷Default.aspxÎļþ£¬´Ó¶øÔÚVisual Studio designer´°¿ÚÖдò¿ªËü¡£

¡¡¡¡2. ÇëÈ·±£ÄãλÓÚÔ´ÂëÊÓͼÖУ¬È»ºóÔÚÎĵµµÄ£¼form id="form1" runat="server"£¾ºÍ£¼/form£¾Ö®¼ä¸´ÖƲ¢Õ³ÌùÏÂÁдúÂ룺

£¼atlas:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" runat="server" EnableScriptComponents="true"/£¾
£¼asp:Label ID="Label1" runat="server" Width="366px" Font-Bold="True" Font-Names="Verdana Ref" Font-Size="Small" Height="19px"£¾SEARCH FOR RESTAURANTS WITH AMAZON.COM£¼/asp:Label£¾£¼br /£¾
£¼br /£¾
£¼asp:Label ID="Label2" runat="server" Text="Access Key ID:" Width="128px" Font-Names="Verdana Ref"£¾£¼/asp:Label£¾
£¼asp:TextBox ID="TxtBAccessKey" runat="server" Width="182px" Font-Names="Verdana Ref"£¾£¼/asp:TextBox£¾
£¼asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="*"
Width="16px" ControlToValidate="TxtBAccessKey"£¾£¼/asp:RequiredFieldValidator£¾£¼br /£¾
£¼asp:Label ID="Label3" runat="server" Text="Cuisine:" Font-Names="Verdana" Width="58px"£¾£¼/asp:Label£¾
£¼!--The ListBoxCuisine ListBox holds all possible entries for the Cuisine parameter supported by the amazon ECS--£¾
£¼asp:ListBox ID="ListBoxCuisine" runat="server" Rows="1" Width="206px" OnSelectedIndexChanged="ListBoxCuisine_SelectedIndexChanged" Font-Names="Verdana Ref" AutoPostBack="True"£¾
£¼asp:ListItem Text="American cuisine" Value="American cuisine"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Asian cuisine" Value="Asian cuisine"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Seafood" Value="Seafood"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Greek" Value="Greek"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Indian" Value="Indian"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Italian" Value="Italian"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Japanese" Value="Japanese"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Chinese" Value="Chinese"£¾£¼/asp:ListItem£¾
£¼/asp:ListBox£¾
£¼br /£¾
£¼asp:Label ID="Label5" runat="server" Font-Names="Verdana" Text="City:"
Width="61px"£¾
£¼/asp:Label£¾
£¼!a€¡±The Amazon E-Commerce Service supports only the cities defined as list items of the ListBox control--£¾
£¼asp:ListBox ID="listBoxCity" runat="server" Height="19px" Width="221px" AutoPostBack="True" EnableTheming="False" Rows="1" OnSelectedIndexChanged="listBoxCity_SelectedIndexChanged" Font-Names="Verdana Ref" £¾
£¼asp:ListItem Text="Seattle" Value="Seattle"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Boston" Value="Boston"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="San Francisco" Value="San Francisco"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="New York" Value="New York"£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Washington£¬ D.C." Value="Washington£¬ D.C."£¾£¼/asp:ListItem£¾
£¼asp:ListItem Text="Chicago" Value="Chicago"£¾£¼/asp:ListItem£¾
£¼/asp:ListBox£¾
£¼br /£¾
£¼asp:Label ID="Label6" runat="server" Font-Names="Verdana Ref" Text="Neighbourhood:" Width="59px"£¾
£¼/asp:Label£¾
£¼asp:TextBox ID="TextBox3" runat="server" Width="143px" Font-Names="Verdana Ref"£¾
£¼/asp:TextBox£¾
£¼asp:Button id="submitSearch" runat="server" Height="23px" Text="Submit"
Width="54px" OnClick="submitSearch_Click" Font-Names="Verdana Ref" /£¾
£¼br /£¾

¡¡¡¡3. Çл»µ½Éè¼ÆÊÓͼ£»Éè¼ÆÆ÷Ó¦¸ÃÉú³ÉÈçͼ6ËùʾµÄUI¡£


ͼ6.ʾÀýÓ¦ÓóÌÐòµÄUI

¡¡¡¡(Îå) ÅäÖÃUpdatePanel¿Ø¼þ

¡¡¡¡1. Çл»µ½Ô´ÂëÊÓͼ£»ÔÚ±ê×¢ºóÃæµÄ£¼brºÍ/£¾±êǩ֮¼äÌí¼ÓÏÂÁдúÂ룺

£¼atlas:UpdatePanel ID="UP1" EnableViewState="true" Mode="Conditional" RenderMode="Inline" runat="server"£¾
£¼ContentTemplate£¾
£¼/ContentTemplate£¾
£¼Triggers£¾
£¼/Triggers£¾
£¼/atlas:UpdatePanel£¾

¡¡¡¡µ±´¥·¢Ò»¸öÒÑ×¢²áµÄ¿Ø¼þÖеÄʼþʱ£¬UpdatePanel¿Ø¼þ±»ÓÐÌõ¼þµØ½øÐиüС£×¢²áµÄʼþÔÚ·þÎñÆ÷¶Ë±»Í¨¹ýÒì²½»Ø¼Ä´¦Àí¡£

¡¡¡¡2. ÔÚUpdatePanel¿Ø¼þµÄ£¼ContentTemplate£¾ºÍ£¼/ContentTemplate£¾ÔªËØÖ®¼ä£¬¼ÓÈëÏÂÃæµÄ±ê×¢£º

£¼atlas:UpdateProgress£¾
£¼ProgressTemplate £¾
£¼asp:Label ID="Label4" runat="server" Font-Names="Verdana Ref" Font-Size="X-Small"
Text="Loading..." Width="81px"£¾£¼/asp:Label£¾
£¼/ProgressTemplate£¾
£¼/atlas:UpdateProgress£¾
£¼br /£¾
£¼asp:Repeater ID="RP1" runat="server"£¾
£¼ItemTemplate£¾
£¼/ItemTemplate£¾
£¼/asp:Repeater£¾

£¼asp:Label ID="NoResults" runat="server" Width="449px" Font-Names="Verdana Ref" £¾£¼/asp:Label£¾
£¼br /£¾ £¼br /£¾
£¼asp:Label ID="PriceRange" runat="server" Font-Names="Verdana Ref" Font-Size="X-Small"£¾
£¼/asp:Label£¾
£¼br /£¾
£¼br /£¾
£¼asp:Label ID="labelError" runat="server" Width="451px" Font-Names="Verdana Ref"£¾
£¼/asp:Label£¾

¡¡¡¡µ±ÕýÔÚ¸üÐÂÇøÓòʱ£¬UpdateProgress¿Ø¼þÏÔʾһ¸öæָʾÆ÷£¨¡°¼ÓÔØÖС­¡­¡±£©¡£

¡¡¡¡RepeaterºÍLabel¿Ø¼þ¸ºÔð´æ´¢ËÑË÷½á¹û¼°Ç±ÔڵĴíÎóÏûÏ¢½á¹û¡£

¡¡¡¡3. ΪÁË×¢²á½«´¥·¢²¿·Ö¸üеĿؼþ£¬°ÑÏÂÁдúÂëÆ¬¶Ï·Åµ½UpdatePanel¿Ø¼þµÄ£¼Triggers£¾ºÍ£¼/Triggers£¾ÔªËØÖ®¼ä£º

£¼atlas:ControlEventTrigger ControlID="submitSearch" EventName="Click" /£¾
£¼atlas:ControlEventTrigger ControlID="listBoxCity" EventName="SelectedIndexChanged" /£¾
£¼atlas:ControlEventTrigger ControlID="listBoxCuisine" EventName="SelectedIndexChanged" /£¾
¡¡(Áù) ÔÚ¿Í»§¶ËÓ¦ÓóÌÐòÌí¼Ó´úÂë

¡¡¡¡Çл»µ½Éè¼ÆÊÓͼ£¬Ë«»÷Éú³ÉµÄWeb±íµ¥ÒÔÏÔÊ¾Ò³ÃæÏàÓ¦µÄ´úÂ벿·Ö£¨Default.aspx.cs£©¡£Ñ¡ÔñCtrl+AÀ´Ñ¡ÔñËùÓеÄ×Ô¶¯Éú³ÉµÄ´úÂ룬²¢°´Delete¼üÇå³ýÎĵµ¡£È»ºó£¬Ìí¼ÓÏÂÁдúÂëÒÔÏû·ÑAmazon ECS·þÎñ²¢ÇÒÏÔʾËÑË÷½á¹û£º

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
¡¡protected AWSECommerceService AmazonECS = new AWSECommerceService();
¡¡protected ItemSearch Search = new ItemSearch();
¡¡protected ItemSearchRequest SearchRequest = new ItemSearchRequest();
¡¡protected ItemSearchResponse SearchResponse;
¡¡protected void submitSearch_Click(object sender£¬ EventArgs e)
¡¡{
¡¡¡¡Search.AWSAccessKeyId = TxtBAccessKey.Text.ToString();
¡¡¡¡SearchRequest.SearchIndex = "Restaurants";
¡¡¡¡SearchRequest.Cuisine = ListBoxCuisine.SelectedValue;
¡¡¡¡SearchRequest.City = listBoxCity.SelectedValue;
¡¡¡¡SearchRequest.Neighborhood = TextBox3.Text.ToString();
¡¡¡¡SearchRequest.ResponseGroup = new String[] { "ItemAttributes" };
¡¡¡¡Search.Request = new ItemSearchRequest[1] { SearchRequest };
¡¡¡¡try
¡¡¡¡{
¡¡¡¡¡¡SearchResponse = AmazonECS.ItemSearch(Search);
¡¡¡¡¡¡if (SearchResponse.Items == null)
¡¡¡¡¡¡{ labelError.Text = "A Server error has occured."; }
¡¡¡¡¡¡else
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡Items responseItems = SearchResponse.Items[0];
¡¡¡¡¡¡¡¡Item[] response = responseItems.Item;
¡¡¡¡¡¡¡¡if (response != null)
¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡foreach (Item I in response)
¡¡¡¡¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡¡¡¡¡NoResults.Text = "";
¡¡¡¡¡¡¡¡¡¡¡¡Label Results = new Label();
¡¡¡¡¡¡¡¡¡¡¡¡Label Sep = new Label();
¡¡¡¡¡¡¡¡¡¡¡¡Results.Text = "£¼strong£¾" + I.ItemAttributes.Title.ToUpper() + "£¼/strong£¾" + "£¼br/£¾"
+ I.ItemAttributes.Address.Address1.ToString() + "£¼br/£¾"
+ I.ItemAttributes.Neighborhood + "£¼br/£¾"
+ "Tel:" + " " + I.ItemAttributes.PhoneNumber + "£¼br/£¾"
+ "Price Rating:" + " " + priceRating(I.ItemAttributes.PriceRating)+"£¼br/£¾"+"£¼br/£¾";
¡¡¡¡¡¡¡¡¡¡¡¡Sep.Text = "£¼br/£¾";
¡¡¡¡¡¡¡¡¡¡¡¡RP1.Controls.Add(Results);
¡¡¡¡¡¡¡¡¡¡¡¡RP1.Controls.Add(Sep); }
¡¡¡¡¡¡¡¡PriceRange.Text ="Price per person (based on entree£¬ appetizer or salad£¬ one non-alcoholic drink plus tax and tip)";
¡¡¡¡¡¡}
¡¡¡¡¡¡else
¡¡¡¡¡¡{
¡¡¡¡¡¡¡¡NoResults.Text = "No search results found.";
¡¡¡¡¡¡¡¡PriceRange.Text = "";
¡¡¡¡¡¡}
¡¡¡¡}
¡¡}
¡¡catch (Exception ex)
¡¡{
¡¡¡¡labelError.Text = ex.Message.ToString();
¡¡}
}
private string priceRating(string str)
{
¡¡if (str=="1"){
¡¡¡¡return "under $15";}
¡¡else if(str=="2"){
¡¡¡¡return "$15-30";}
¡¡else if(str=="3"){
¡¡¡¡return "$30-45";}
¡¡else if(str=="4"){
¡¡¡¡return "over $45";}
¡¡else{return null;}
}
protected void listBoxCity_SelectedIndexChanged(object sender£¬ EventArgs e)
{}
protected void ListBoxCuisine_SelectedIndexChanged(object sender£¬ EventArgs e)
{}
}

¡¡¡¡(Æß) ÔËÐÐÓ¦ÓóÌÐò

¡¡¡¡1. ΪÁËÔËÐÐÓ¦ÓóÌÐò£¬ÔÚÉè¼ÆÊÓͼÏ´ò¿ªDefault.aspxÒ³Ãæ¡£Ñ¡ÔñTxtBAccessKey TextBox¿Ø¼þ£»ÔÚProperties´°¿ÚÖаÑÄãµÄAmazon Web·þÎñ´æÈ¡¼üIDÌí¼Óµ½¸Ã¿Ø¼þµÄTextÊôÐÔÖС£

¡¡¡¡2. °´F5¼üÒÔÔËÐиÃÓ¦ÓóÌÐò¡£

¡¡¡¡3. ʹÓÃÓ¦ÓóÌÐòµÄ¹ý³ÌÊÇÏ൱ֱ½ÓµÄ¡£´ÓCuisine:Áбí¿òÖÐÑ¡ÔñÒ»ÖÖcuisineÀàÐÍ£¬´ÓCity:Áбí¿òÖÐÑ¡ÔñÒ»¸ö³ÇÊУ¬È»ºóµã»÷Submit°´Å¥¡£×÷ΪѡÔñ£¬Ä㻹¿ÉÒÔϸ»¯ÄãµÄËÑË÷¡£

¡¡¡¡(°Ë) ´Óä¯ÀÀÆ÷ÖÐʹÓÃAmazon ECS Web·þÎñ

¡¡¡¡1. ʹÓÃÒ»¸öÇŽÓÎļþÀ´Ö¸¶¨Ïû·ÑÔ¶³ÌWeb·þÎñµÄ´úÀíÀà¡¢µ÷Óø÷þÎñµÄ·½·¨ÒÔ¼°ÈçºÎ²Ù×÷·µ»ØµÄÊý¾Ý¡£

¡¡¡¡2. ʹÓÃScriptManager¿Ø¼þ²Î¿¼ÇŽÓÎļþ¡£

¡¡¡¡3. ʹÓÃhtml¿Ø¼þ£¬JavaScriptºÍ¿Í»§¶ËAtlasÊý¾Ý×é¼þÀ´Ê¹Ó÷þÎñ¼´¿É¡£

¡¡¡¡Æß¡¢ ½áÂÛ

¡¡¡¡Asp.net AtlasÊÇÒ»¸ö´´½¨»ùÓÚ¿Í»§¶ËµÄWebÓ¦ÓóÌÐòµÄ¿ò¼Ü¡£Õâ¸ö¿ò¼ÜÔÚÌṩ¿Í»§¶ËºÍ·þÎñÆ÷¶ËAPIÓÃÀ´´´½¨¿çä¯ÀÀÆ÷¼æÈݵÄAJAX·ç¸ñµÄÓ¦ÓóÌÐòµÄͬʱ£¬»¹ÒýÈëÁËÁíÍâÒ»Ð©ÌØÕ÷£¬ÀýÈçÇŽӼ¼Êõ£¬gadget£¬Ò»¸öJavaScriptÉùÃ÷ÐԽű¾Ä£ÐͺÍÀ©Õ¹£¬µÈµÈ¡£

¡¡¡¡×ÜÖ®£¬±¾ÎĽéÉÜÁ˸ÿò¼ÜµÄµäÐÍʹÓÿò¼Ü£»»¹Í¨¹ýʹÓÃAtlas UpdatePanel¿Ø¼þ½éÉÜÁ˲¿·Ö£¨Partial£©Ò³ÃæÉú³É¼¼Êõ£¬ÕâÊÇÔÚasp.net WebÓ¦ÓóÌÐòÖÐÔö¼ÓAJAX¹¦Äܺ͸ĽøÓû§ÌåÑéµÄ×î¼òµ¥µÄ·½·¨¡£

±¾Îijö×Ô ¡°Çà·å¡± ²©¿Í£¬×ªÔØÇëÓë×÷ÕßÁªÏµ£¡





    ÎÄÕÂÆÀÂÛ
 
 

·¢±íÆÀÂÛ

êÇ   ³Æ£º
ÑéÖ¤Â룺 ¡¡µã»÷ͼƬ¿ÉË¢ÐÂÑéÖ¤Âë¡¡¡¡²©¿Í¹ý2¼¶£¬ÎÞÐèÌîдÑéÖ¤Âë
ÄÚ   ÈÝ£º