网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > DotNet > ASP.NET > ASP.NET中实现Flash与.NET的紧密集成  

ASP.NET中实现Flash与.NET的紧密集成

2007-07-12  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

  

一、 Flash特性决定其可以集成
  Macromedia公司的Flash如今被广泛应用于互联网上以实现增强Web网站的内容描述。Macromedia把Flash作为Web应用程序开发的接口选择。对于一个接口来说,Flash可能是一伟大的选择;然而,这个选择不是用它来替换商业逻辑,查询管理和安全。对于一个Web开发者来说,要实现真正强壮的性能和企业级能力,你需要.NET,Flash以及丰富的描述层支持,并联合微软的.NET技术。
  Flash包括ActionScript-一种脚本语言,用来对动画添加交互性。从Flash 5中开始引入ActionScript脚本以来,Macromedia不断地改进它,从一个简单的脚本语言到相当牢固但仍存在许多局限性的编程特性。在Flash MX 2004中,Macromedia引入了ActionScript 2.0-它支持新的功能和新的方法来构建代码。为了更易于理解本文,你应该先阅读一些有关用ActionScript来构建Flash站点的基本知识。

网管联盟bitsCN_com

  Macromedia已经介绍了方法来实现容易地集成外部的数据到Flash应用程序中以允许更复杂和强壮的数据驱动应用程序。Flash和.NET都把它们自己推荐为跨平台的解决方案并且,由此而成为自然的搭挡。仍然,联接这两项技术不是简单的任务。这篇文章将同你一起讨论把Flash和.NET应用程序集成到一起的几种方法。

   二、 集成Flash和ASP.NET
  把Flash动画嵌入到ASP.NET页面
  Macromedia Flash动画通过联合使用OBJECT和EMBED标签放置在.aspx页面中。EMBED标签最初是Netscape公司为了实现与Netscape 2.0或更高级的版本一起工作而开发的。以后,这个标签被微软的Internet Explorer(MSIE)所采用。为了实现浏览器兼容性,可以共同使用MSIE特定的OBJECT标签和EMBED标签。下面的HTML代码展示了用OBJECT标签和EMBED标签来嵌入一个Flash动画(*.swf文件)的情形:

网管联盟bitsCN_com

三、 把Flash连接到外部的数据
  有三种方法可以把Flash动画与外部数据集成到一起:FlashVars,LoadVars以及新的FlashRemoting技术。其中最简单的一种方法是,通过使用FlashVars来传递代码的HTML部分中的变量,实现把外部数据从一个.aspx页面传递到一个嵌入在Web页面中的一个Flash动画。使用FlashVars设置的这些变量值可以在Flash动画的根层次上进行存取。为能在所有的浏览器环境下运行,该FlashVars属性必须在OBJECT和EMBED标签中进行赋值,As Flows:

网管u家u.bitsCN.com

<OBJECT codeBase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0 class=\" height=390 width=450 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
<PARAM NAME=\"_cx\" VALUE=\"11906\"><PARAM NAME=\"_cy\" VALUE=\"10319\">
<PARAM NAME=\"FlashVars\" VALUE=\"\">
<PARAM NAME=\"Movie\" VALUE=\"../map/mapIndex.swf\"><PARAM NAME=\"Src\" VALUE=\"../map/mapIndex/.swf\">
<PARAM NAME=\"WMode\" VALUE=\"Opaque\">
<PARAM NAME=\"Play\" VALUE=\"-1\">
<PARAM NAME=\"Loop\" VALUE=\"-1\">
<PARAM NAME=\"Quality\" VALUE=\"High\">
<PARAM NAME=\"SAlign\" VALUE=\"\"><PARAM NAME=\"Menu\" VALUE=\"-1\"><PARAM NAME=\"Base\" VALUE=\"\"><PARAM NAME=\"AllowScriptAccess\" VALUE=\"\"><PARAM NAME=\"Scale\" VALUE=\"ShowAll\"><PARAM NAME=\"DeviceFont\" VALUE=\"0\"><PARAM NAME=\"EmbedMovie\" VALUE=\"0\"><PARAM NAME=\"BGColor\" VALUE=\"00A000\"><PARAM NAME=\"SWRemote\" VALUE=\"\"><PARAM NAME=\"MovieData\" VALUE=\"\"><PARAM NAME=\"SeamlessTabbing\" VALUE=\"1\"><PARAM NAME=\"Profile\" VALUE=\"0\"><PARAM NAME=\"ProfileAddress\" VALUE=\"\"><PARAM NAME=\"ProfilePort\" VALUE=\"0\"><PARAM NAME=\"AllowNetworking\" VALUE=\"all\"><PARAM NAME=\"AllowFullScreen\" VALUE=\"false\">

网管论坛bbs_bitsCN_com


       
<embed src=\"../map/mapIndex.swf\" width=\"450\" height=\"390\" play=\"true\" loop=\"true\" wmode=\"Opaque\" quality=\"high\" bgcolor=\"transparent\" align=\"\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\"></embed>
</OBJECT>
 

网管网www_bitscn_com

  下面是和一个对象标签一起的FlashVars: 网管联盟bitsCN_com

<PARAM Name=\"FlashVars\" Value=\"init=yes&check=true\"> 

中国网管联盟bitsCN.com


   下面是和EMBED标签一起使用的FlashVars: 网管bitscn_com

<EMBED src=\"test.swf\" FlashVars=\"init=yes&check=true\"></EMBED> 
网管u家u.bitsCN.com

四、 为什么使用FlashVars

  不借用FlashVars,也可以把变量放在HTML标签中-通过一个查询串形式把它添加到.SWF文件的URL后面,进而传递到一个Flash动画。这个方法可能存在一个问题-如果这个变量在.SWF文件加载时就需要的话,因为一个.SWF文件应该在从服务器发出请求数据之前就被下载和运行。变量值也可能是通过\"Load Variables\"方法和JavaScript在Flash中设置的。每一个这些方法都有惰散慢响应的缺点;这就是为什么开发者应该使用FlashVars来把数据从ASP.NET传递到Flash动画的原因。任何使用FlashVars传递的变量都能被在Flash动画的根层次(_level0)上进行存取。为了检索一个Flash动画内部的这些值,可以创建一个动态变量。下面ActionScript代码实现在Flash中为\"initvalue\"赋值: 网管网www_bitscn_com
         _level0.initvalue = init;

中国网管论坛bbs.bitsCN.com

  网管网www_bitscn_com

网管u家u.bitsCN.com


TAGs   紧密   集成   实现   Flash   XML   一个   方法   动画   PARAM   NAME      
 上一篇:面试ASP.NET程序员的笔试题和机试题   下一篇:ASP.NET十分有用的页面间传值方法
ASP.NET中实现Flash与.NET的紧密集成 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: