|
|
|
关键字: flex数据交互 终于试出flex用WebService的方式取得组件的数据系结。后端用Turbo C#开新WebService专案,贴上下面二个简单的MethodC#代码 1.[WebMethod] 2.public string [] HelloWorld() 3.{ 4. string [] arr=new string[3]; 5. arr[0]="字符串A"; 6. arr[1]="字符串二"; 7. arr[2]="字符串三"; 8. return arr; 9.} 10.[WebMethod] 11.public double Calc(double r) 12.{ 13. return 2 * r * Math.PI; 14.} [WebMethod]public string [] HelloWorld(){ string [] arr=new string[3]; arr[0]="字符串A"; arr[1]="字符串二"; arr[2]="字符串三"; return arr;}[WebMethod]public double Calc(double r) { return 2 * r * Math.PI;} 然后用 Cassini web server方式执行。前端用flex MXML Application贴上下面程序代码Mxml代码 1.<?xml version="1.0" encoding="utf-8"?> 2.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> 3. <mx:Script> 4. <![CDATA[ 5. import mx.collections.ArrayCollection; 6. import mx.rpc.events.ResultEvent; 7. 8. [Bindable] 9. private var myData:ArrayCollection; 10. 11. private function resultHandler(event:ResultEvent):void { 12. myData = event.result as ArrayCollection; 13. } 14. ]]> 15. </mx:Script> 16. <mx:WebService id="myService" 17. wsdl="http://127.0.0.1:8080/WebServiceApplication3/WebService1.asmx?wsdl"> 18. <mx:operation name="HelloWorld" result="resultHandler(event)"/> 19. <mx:operation name="Calc"> 20. <mx:request> 21. <r>{radius.text}</r> 22. </mx:request> 23. </mx:operation> 24. </mx:WebService> 25. 26. <mx:List id="myList" dataProvider="{myData}" width="206"/> 27. <mx:Label text="{myList.selectedItem}"/> 28. <mx:TextInput id="radius"/> 29. <mx:Button label="取得数组" click="myService.HelloWorld.send()"/> 30. <mx:Text text="{myService.Calc.lastResult}" /> 31. <mx:Button label="计算" click="myService.Calc.send();"/> 32.</mx:Application> <?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.rpc.events.ResultEvent; [Bindable] private var myData:ArrayCollection; private function resultHandler(event:ResultEvent):void { myData = event.result as ArrayCollection; } ]]> </mx:Script> <mx:WebService id="myService" wsdl="http://127.0.0.1:8080/WebServiceApplication3/WebService1.asmx?wsdl"> <mx:operation name="HelloWorld" result="resultHandler(event)"/> <mx:operation name="Calc"> <mx:request> <r>{radius.text}</r> </mx:request> </mx:operation> </mx:WebService> <mx:List id="myList" dataProvider="{myData}" width="206"/> <mx:Label text="{myList.selectedItem}"/> <mx:TextInput id="radius"/> <mx:Button label="取得数组" click="myService.HelloWorld.send()"/> <mx:Text text="{myService.Calc.lastResult}" /> <mx:Button label="计算" click="myService.Calc.send();"/> </mx:Application> 执行之后,便用WebService方式向后端取得HelloWorld及Calc二个method的回传值。关键点在lastResult若是数组需以as ArrayCollection转型成ArrayCollection来承接。 |
|