当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Flex与.NET互操作(八) 使用FluorineFx网关实现远程访问(4)

    栏目:Linux/apache问题 时间:2019-12-01 23:11


    75             dr["Author"] = "吴承恩";
    76             dr["Price"] = 39.91;
    77             dt.Rows.Add(dr);
    78 
    79             return ds;
    80         }
    81 
    82     }
    83 }

         上面代码片段中分别提供了返回一个对象,DataTable,DataSet对象的方法。这里只需要记住两个关键标识就行,它门是:DataTableType和DataSetType.  下面通过Flex的非可视化组件<mx:RemoteObject>来访问远程对象,OK,下面我们来看看具体怎么来调用。 

    1 <mx:RemoteObject  destination="fluorine" >
    2     source="Fluorine.ServiceLibrary.FluorineService"
    3     fault="onFaultHandler(event)"
    4     <mx:method name="GetBook" result="onGetBookHandler(event)"/>
    5     <mx:method name="GetDataTable" result="onGetDataTableHandler(event)"/>
    6     <mx:method name="GetDataSet" result="onGetDataSetHandler(event)"/>
    7 </mx:RemoteObject>

    一、返回对象示例

    1 [Binable]
    2 private var book:BookVO;
    3     
    4 private function onGetBookHandler(evt:ResultEvent):void
    5 {
    6     book=evt.result as BookVO;
    7 }

         通过点击按扭调用远程方法GetBook()完成方法的调用,直接可以将返回结果绑定到界面元素上。

    1 <mx:Button label="Book" click="ro.GetBook()"/>
    2 <mx:TextInput width="302" text="{boo.Name+book.Author+book.Price}"/>

    二、返回DataTable对象

         返回DataTable和DataSet,将结果绑定到DataGrid上显示,先看看DataGrid的定义:

    1 <mx:DataGrid x="10" y="10" width="543" height="147" dataProvider="{books}">
    2     <mx:columns>
    3             <mx:DataGridColumn headerText="编号" dataField="Id"/>
    4             <mx:DataGridColumn headerText="书名" dataField="Name"/>