2011-09-12 75 views
0

我有20个不同的Flash文件,我需要在用户输入邮编时随机播放。我已经完成了这个项目,但是我已经完成了这个项目,我认为可以做得更好。我有20个不同的具有Flash对象的aspx文件。我使用Random类将用户重定向到基于随机数的不同aspx文件。有没有办法只有一个aspx文件的参数值和数据可以通过变量传递。这样,它更容易维护,我不必去20个不同的aspx文件来更新任何东西。这是Flash对象的外观。在C#中动态加载flash页面#

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="960" height="952" 
      id="HOT" align="middle"> 
      <param name="movie" value="../FlashFiles/FirstTime/HOT_00.swf" /> 
      <param name="quality" value="high" /> 
      <param name="bgcolor" value="#000000" /> 
      <param name="play" value="true" /> 
      <param name="loop" value="true" /> 
      <param name="wmode" value="transparent" /> 
      <param name="scale" value="showall" /> 
      <param name="menu" value="true" /> 
      <param name="devicefont" value="false" /> 
      <param name="salign" value="" /> 
      <param name="allowScriptAccess" value="sameDomain" /> 
      <!--[if !IE]>--> 
      <object type="application/x-shockwave-flash" data="../FlashFiles/FirstTime/HOT_00.swf" width="960" height="952"> 
       <param name="movie" value="HOT.swf" /> 
       <param name="quality" value="high" /> 
       <param name="bgcolor" value="#000000" /> 
       <param name="play" value="true" /> 
       <param name="loop" value="true" /> 
       <param name="wmode" value="transparent" /> 
       <param name="scale" value="showall" /> 
       <param name="menu" value="true" /> 
       <param name="devicefont" value="false" /> 
       <param name="salign" value="" /> 
       <param name="allowScriptAccess" value="sameDomain" /> 
       <!--<![endif]--> 
       <a href="http://www.adobe.com/go/getflash"> 
        <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" 
         alt="Get Adobe Flash player" /> 
       </a> 
       <!--[if !IE]>--> 
      </object> 
      <!--<![endif]--> 
     </object> 

请指教!!谢谢!

回答

0

SwfObject通常用于从JavaScript写入Flash标记,并传递任何必要的参数。这比手动编写标签要干净一点。如下所示,您可以通过服务器端调用来忽略Flash影片的名称,或者使用纯JavaScript。

var flashvars = {};; 
flashvars.basePath = "/"; 

var params = {}; 
params.allowScriptAccess = "always"; 
params.base = "/"; 
params.bgcolor = "#000000";    
params.wmode = "transparent"; 
params.scale = "noscale"; 
params.salign = 'tr'; 

swfobject.embedSWF("<%= GetRandomFlashMove() %>", 
        "BaseLoader", 
        "976", 
        "561", 
        "10.0.0", 
        "/expressInstall.swf", 
        flashvars, params); 
+0

或者将有可能在服务器变量传递 - 例如“<%= FlashUrl.ToString()%>” ...其中FlashUrl将与页面上的加载事件不同的URL来填充。 – Bladerunner

+0

是的,这就是'GetRandomFlashMove()'的意思。它会从服务器端逻辑返回一个randmon flash URL。 – TheCodeKing

+0

是的,我得到那个工作..但没有使用JavaScript。刚刚传入一个会话变量并更改其值而不是调用不同的aspx文件。这真是太棒了..感谢您引导我朝着正确的方向前进。 – Bladerunner