【发布时间】:2011-02-22 03:25:27
【问题描述】:
我有一个使用 ASP.net Web 服务查询的 MS Access 查询 ProductDetailsAll。该服务只是用查询结果填充数据表。
如何从 Flash 设置和传递参数?我需要根据用户选择搜索具有 CategoryID 1 或 3 的记录的 ProductDetailsAll。 CategoryID 如何从 Flash 传递到 Web 服务?
我在 Flash 中创建了矩形对象。每一个都必须包含来自 ProductDetailsAll 查询的产品名称、描述、价格和图像。如何将搜索短语从 Flash 传递到查询?我是否使用动态文本框来容纳返回的值?
谢谢, 席德
编辑 进一步阐述: 我有一个组合框 cbRentalType,其值为 1(销售)、3(派对)或全部。我有一个组合框 cbCatSelect 需要从数据库表中读取 SubCategory。我有一个文本框 txtSearch,它将包含产品关键字,应该从数据库表中的 KeywordID 字段中查询。
如何在 Actionscript 中设置出站变量等于上述对象的值?
如何返回匹配这些值的查询结果并将它们映射到 Flash 变量中?
我在影片剪辑上有 16 个矩形对象。每一个都将包含查询结果中的一项,并输出产品图像、产品名称、描述和价格。如果查询返回的记录超过 16 条,如何填充另一个框架以包含完整的查询结果?
最后,我找到了一个用于设置 ASP.NET Web 服务连接的代码示例。 AS3代码如下:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import mx.rpc.soap.*;
import mx.rpc.events.*;
import mx.rpc.AbstractOperation;
import flash.events.Event;
public class MainDocument extends MovieClip {
private var ProductWebService:WebService;
private var serviceOperation:AbstractOperation;
public function MainDocument() {
// constructor code
addEventListener(Event.ENTER_FRAME, SetupWebService);
}
function SetupWebService(event:Event):void
{
var url:String ="http://www.mydomain.com/WebService/completedb.asmx?WSDL";
ProductWebService = new WebService();
ProductWebService.loadWSDL(url);
ProductWebService.addEventListener(LoadEvent.LOAD,BuildServiceRequest);
}
function BuildServiceRequest(evt:LoadEvent)
{
serviceOperation=ProductWebService.getOperation("GetProducts");
serviceOperation.addEventListene
(FaultEvent.FAULT,DisplayError);
serviceOperation.addEventListener
(ResultEvent.RESULT,DisplayResult);
serviceOperation.send([GenerateRandomNumber(0,9)]);
}
function DisplayError(evt:FaultEvent)
{
trace("error");
}
function DisplayResult(evt:ResultEvent)
{
var productName:String = evt.result as String;
productText.Text=productName;
}
function GenerateRandomNumber(min:int,max:int):int
{
return Math.floor(Math.random()*(1+max-min))+min;
}
}
}
【问题讨论】:
标签: flash actionscript-3