互联网的变化,真是风起云涌,我似乎永远都赶不上时代的潮流。
不过这次我想介绍点新鲜的东西,有人说网络会终结全部的桌面软件,这就是RIA,好像是Rich Internet Application的简写。
Flex就是这样一个工具,帮助我们开发RIA,提供丰富的用户交互。
偶前几日用flex做了一个小测试,调用asp.net的WebService.
具体需求如下:
提供一个界面,用来查询某个班级的学生信息。
学生信息表字段:学号、姓名
我这个程序是改写了一个调用Yahoo图片的应用。
看看怎么实现的吧。
1、主程序文件
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
?backgroundGradientColors="[0xFFFFFF, 0xAAAAAA]"
?horizontalAlign="left"
?verticalGap="15" horizontalGap="15">
??? <mx:Script>
??????? <![CDATA[
??????????? import mx.collections.ArrayCollection;
??????????? import mx.rpc.events.ResultEvent;
??????????? //声明一个ArrayCollection,用于存放读取出来的学生信息
??????????? [Bindable]
??????????? private var photoFeed:ArrayCollection;
??????????? //这个方法用来处理WebService返回的数据,也就是放到上边声明的数组中
??????? //因为我的WebService返回的是一个DataSet,可以看到这样一个目录结构:Tables.ds.Rows
??????????? private function photoHandler(event:ResultEvent):void {
??????????????? photoFeed = event.result.Tables.ds.Rows as ArrayCollection;
??????????? }
???????? ]]>
??? </mx:Script>
<!--调用的WebService
wsdl属性声明了一个路径和格式
result属性声明了用来处理结果的方法
operation声明了请求的WebService方法
strWhere是接口的参数名称
searchTerms.text是要查询的字符串
-->
<mx:WebService id="StudentService" wsdl="http://localhost:2056/WebServiceTest/GetStudentList.asmx?WSDL" useProxy="false" result="photoHandler(event)">
<mx:operation name="Get">
<mx:request>
<strWhere>{searchTerms.text}</strWhere>
</mx:request>
</mx:operation>
</mx:WebService>
?<mx:HBox>
??<mx:Label text="Flickr tags or search terms:" />
??<mx:TextInput id="searchTerms" />
<!--按钮的click事件,发送了WebService请求-->
??<mx:Button label="Search" click="StudentService.Get.send();" />
?</mx:HBox>
<!--
这里使用TileList显示查询返回的结果
dataProvider用来绑定数据源
我们在点击按钮查询的之后,无需再绑定一遍数据,这是如何实现的呢,有点搞不明白
这里用到了itemRenderer,可以自定义结果显示的方式,有点类似于.net中的模版控件,下面会介绍
-->
?<mx:TileList width="100%" height="100%"
??dataProvider="{photoFeed}"
??itemRenderer="StudentItem"? direction="vertical">
?</mx:TileList>
</mx:Application>
2、显示Item控件
使用这种方式绑定数据:{data.stu_no}
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="30">
?<mx:Label text="{data.stu_no}" /><mx:Label text="{data.stu_name}" />
</mx:HBox>
3、再看看WebService是怎么写的。
就是查询出来数据,绑定到DataSet,然后返回
.net会帮我们自动构建XML
[WebMethod]
public DataSet Get(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select * ");
strSql.Append(" FROM student ");
if (strWhere.Trim() != "")
{
strSql.Append(" where stu_course = '" + strWhere+"'");
}
return dbHelper.Query(strSql.ToString());
}
OK,这个就是这么简单!欢迎大家多提点建议!
关键字: asp.net Flex webservice
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论