0

我有一个成功托管 flex 应用程序的 aspx 网页。在页面上有一些在加载时生成的变量。我想知道是否有办法获取这些变量并在 flex 应用程序中使用它们。

我已经尝试了几件事,但最新的一个看起来像这样:

<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='100%' height='100%' id='FlexApp'title='FlexApp'>
      <param name='movie' value='FlexApp.swf' />
      <param name='quality' value='high' />
      <param name='wmode' value='opaque' />
      <param name='AllowScriptAccess' value='always' />
      <param name='swfversion' value='9.0.45.0' />
      <embed src=FlexApp.swf' AllowScriptAccess='always' pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash' width='100%' height='100%' 
flashVars='param1='+<%=param1%>'&param2='+<%=param2%>
    </object>

文件中的全局变量在哪里param1和是这样的:param2page.aspx.cs

public string param1,param2;
protected void Page_Load(object sender, EventArgs e)
{
    param1 ="Something"
    param2 = "Else"
}

在要测试的 flex 应用程序中,我有

import  mx.core.FlexGlobals;

private void Init()
{
    Alert.show(FlexGlobals.topLevelApplication.parameters.param1);
}

当我加载 Flash 应用程序时,我会收到一个带有“确定”按钮的警告对话框,其中包含文本“无效”。显然它没有读取变量......有什么解决方案吗?

我需要这个的原因是有一个 flex 无法访问的功能,但它托管的网页可以,所以我想在 flex 应用程序中发布结果。

4

1 回答 1

1

除非这是一个错字,否则您是否忘记/>了嵌入标签的关闭?此外,您不需要像字符串内联那样构建 flashVars,尝试一个连续的字符串,flashVars='param1=<%=param1 %>&param2=<%=param2 %>'如下所示:

<embed 
    src='FlexApp.swf'
    AllowScriptAccess='always' 
    pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
    type='application/x-shockwave-flash'
    width='100%'
    height='100%' 
    flashVars='param1=<%=param1 %>&param2=<%=param2 %>' />

<object>标签在哪里<param name="flashvars"...

<param name='flashvars' value='param1=<%=param1 %>&param2=<%=param2 %>'>

按照这些步骤进行 x-browser flash 嵌入


<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='100%' height='100%' id='FlexApp'title='FlexApp'>
    <param name='movie' value='FlexApp.swf' />
    <param name='quality' value='high' />
    <param name='wmode' value='opaque' />
    <param name='AllowScriptAccess' value='always' />
    <param name='swfversion' value='9.0.45.0' />
    <param name='flashvars' value='param1=<%=param1 %>&param2=<%=param2 %>'>
    <embed 
        src='FlexApp.swf'
        AllowScriptAccess='always' 
        pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'
        type='application/x-shockwave-flash'
        width='100%'
        height='100%' 
        flashVars='param1=<%=param1 %>&param2=<%=param2 %>' />
</object>
于 2011-01-16T21:55:29.827 回答