我正在与一个团队合作,整理一个可重复的结帐流程。
我们正在使用Flex购物车,然后使用flexiframe打开IFrame以利用我们的ASP.net安全结帐服务器。这就像一个魅力,直到我们点击ASP.net中的一个简单的按钮做一件事 - 而且只有一件事。它应该使用FABridge触发一个进程,让我们回到Flex应用程序的第一个“页面”,以便运行另一个事务。我做了一些事情,如果你需要更多的数据,请告诉我,代码或者其他什么。
我将FABridge.js放在Flex项目的html-template文件夹中。 我把FABridge.as放在Flex项目的'bridge'包中。
我把FABridge.js放在ASP.net项目中。 我在aspx页面上声明了这个文件,如下所示:
<script type="text/javascript" src="../Scripts/FABridge.js"></script>
然后,我宣布了ASP.net按钮:
<asp:Button runat="server" ID="btnNewOrder" Text="Place New Order" OnClientClick="newOrder();"/>
newOrder函数的编写方式如下:
function newOrder(){ var flexApp = FABridge('AdminTrak','flex'); flexApp.setPage(0); }Flex中的setPage函数如下所示:
public function setPage(pageNum:int):void {
model.pageSetter(pageNum, 2)
}
现在,我在这个函数所在的视图上添加了一个名称空间:
xmlns:bridge="bridge.*" as well as the following declaration:
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<bridge:FABridge bridgeName="flex" />
</fx:Declarations>
另外,我在index.template.html文件中添加了以下行:
flashvars.bridgeName = "flex";
因此,我运行一个交易,然后点击按钮下新订单。我得到的只是一个错误,告诉我FABridge.flex没有定义。
请帮忙。