flex调用webservice中的自定义类的方法
编程学习 2021-07-05 11:32www.dzhlxh.cn编程入门
flex如何调用webservice中的自定义类,狼蚁网站SEO优化有个不错的示例,不了解的朋友可以参考下
代码如下:
public class ReturnResult
{
public int curIndex { get; set; }
public DataTable idxList { get; set; }
}
//测试数据库连接
[WebMethod(Description = "!!!测试数据库连接,链接字符串在web.config中")]
public bool conectDB()
{
strCon = ConfigurationSettings.AppSettings["sqlConDuke"];
conn = new SqlConnection(strCon);
try
{
conn.Open();
return true;
}
catch (Exception)
{
return false;
}
finally
{
conn.Close();
}
}
代码如下:
[WebMethod(Description = "根据 <b>照片名</b> 获得详细数据(DataTable),strTb,eg:PanView;strImgName,eg:20131019072740-0000150")]
public DataTable getInfoByImgName(string strTb, string strImgName)
{
bool ifCon = conectDB();
if (ifCon)
{
string sql_BfCar = "SELECT * FROM dbo." + strTb + " where ImageName LIKE '%" + strImgName + "%'";
da = new SqlDataAdapter(sql_BfCar, conn);
myds = new DataSet();
da.Fill(myds);
return myds.Tables[0];
}
else
{
return null;
}
}
[WebMethod(Description = "根据 <b>照片名</b> 获得所在Link的所有数据(ReturnResult),strTb,eg:PanView;strImgName,eg:20131019072740-0000150")]
public ReturnResult getLinkDTByImgName(string strTb, string strImgName)
{
ReturnResult returnResult = new ReturnResult();
bool ifCon = conectDB();
if (ifCon)
{
returnResult.curIndex = Convert.ToInt32(getInfoByImgName(strTb, strImgName).Rows[0][0]);
string strLinkGuid = getInfoByImgName(strTb, strImgName).Rows[0][1].ToString();
string sql_BfCar = "SELECT * FROM dbo." + strTb + " where LinkGuid LIKE '%" + strLinkGuid + "%'";
da = new SqlDataAdapter(sql_BfCar, conn);
myds = new DataSet();
da.Fill(myds);
returnResult.idxList = myds.Tables[0];
return returnResult;
}
else
{
return null;
}
}
Flex代码:
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public var arr:ArrayCollection=new ArrayCollection();
public var aaa:String=new String();
protected function webservice1_faultHandler(event:FaultEvent):void
{
Alert.show(event.fault.toString());
}
protected function getLinkDTByImgNameHandler(event:ResultEvent):void
{
// aaa=this.myweb.getLinkDTByImgName.lastResult.curIndex;
// arr=this.myweb.getLinkDTByImgName.lastResult.idxList.Tables.Table.Rows;
aaa=event.result.curIndex;
arr=event.result.idxList.Tables.Table.Rows;
Alert.show(aaa+" "+arr.length.toString());
}
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
myweb.getLinkDTByImgName("PanView","20131019072740-0000150");
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:WebService id="myweb" wsdl="http://10.19.1.55/serverPano/WebServiceDuke.asmx?WSDL" fault="webservice1_faultHandler(event)">
<s:operation name="getLinkDTByImgName" result="getLinkDTByImgNameHandler(event)"></s:operation>
</s:WebService>
</fx:Declarations>
</s:Application>
上一篇:Flex上传本地图片并提前浏览的实现方法
下一篇:flex导出excel具体实现