Можно ли загрузить переменную ASP.Net aspx.cs в качестве flashvar в flex - PullRequest
0 голосов
/ 17 января 2011

У меня есть веб-страница 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 и param2 - это глобальные переменные в файле page.aspx.cs, например:

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

В гибком приложении для тестирования у меня есть

import  mx.core.FlexGlobals;

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

Когда я загружаю флэш-приложение, я получаю диалоговое окно с предупреждением с кнопкой «ОК» с текстом «void». Очевидно, что это не чтение переменных ... Есть ли какое-либо решение для этого?

Причина, по которой мне это нужно, в том, что есть функция, к которой flex не может получить доступ, но веб-страница, на которой она размещена, может, поэтому я хотел опубликовать результат в приложении Flex.

1 Ответ

1 голос
/ 17 января 2011

если это не опечатка, вы забыли закрывающий /> на теге встраивания? Кроме того, вам не нужно создавать 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-браузер


<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>
...