【问题标题】:Whats the best way to programatically add a .swf to an asp.net page?以编程方式将 .swf 添加到 asp.net 页面的最佳方法是什么?
【发布时间】:2008-10-18 04:25:26
【问题描述】:
有没有一种以编程方式将 .swf 添加到 asp.net 页面上的面板的好方法 - 即:我知道我可以插入 html 标签:
即:
<object type="application/x-shockwave-flash" data="yourflash.swf" width="" height="">
<param name="movie" value="yourflash.swf">
</object>
但是是否已经存在您刚刚设置属性的现有 .net 或免费 FLASH 组件,或者我是否需要自己创建一个自定义 Web 控件(不是首选)所以我不必继续这样做?
谢谢。
【问题讨论】:
标签:
c#
.net
asp.net
custom-server-controls
【解决方案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' />