什么是以编程方式将.swf添加到asp.net页面的最佳方式?

时间:2008-10-18 04:25:27

标签: c# .net asp.net custom-server-controls

有一种很好的方法可以在asp.net页面上以编程方式添加.swf - 即:我知道我可以插入html标签:

即:

<object type="application/x-shockwave-flash" data="yourflash.swf" width="" height="">
<param name="movie" value="yourflash.swf">
</object>

但是您是否已经存在已经存在的.net或免费FLASH组件,或者我是否需要自己创建自定义Web控件(不是首选)所以我不必不断这样做?

谢谢。

2 个答案:

答案 0 :(得分:1)

FlashObject.cs

namespace MyNamespace 
{ 
 using System.Web.UI;

 public class FlashObject : Control
 { public int Width  {get;set}
   public int Height {get;set}
   [UrlProperty] pubic string SourceUrl {get;set;}

   protected override Render(HtmlWriter writer)
    { writer.WriteLine( "<object type='application/x-shockwave-flash' "
                       +" data='{0}' width='{1}' height='{2}'>\r\n"
                       +"    <param name='movie' value='{0}'>\r\n</object>"
                       ,ResolveUrl(SourceUrl)
                       ,Width
                       ,Height);
    }
 }
}

Web.config

  <system.web> 
     <controls>
       <add tagPrefix="my" namespace="MyNamespace" assembly="MyAssembly" />
     </controls>
  </system.web>

MyPage.aspx

 <my:FlashObject SourceUrl='~/yourflash.swf' runat='server' />

答案 1 :(得分:1)

如上所述,但不是发送对象和嵌入代码,而是包含swfobject http://code.google.com/p/swfobject/并在页面中发出一些不引人注意的非侵入式javascript以插入swf!