【发布时间】:2010-12-21 06:57:25
【问题描述】:
我在 MasterPage 内的页面上有一个 ListView 和一些非常丑陋的自动生成 ID。
如...“ctl00_workbenchPlaceHolder_ListView1_ctrl1_LibItem2One”
使用 swfobject.embedSWF(...) 需要我交出页面上 div 的 id,该 id 可以根据浏览器上下文替换为对象/嵌入标记。
我的目标是向用户展示他们已上传到其网站的视频集合,以便他们可以查看它们并在需要时更改一些相关数据。
因此 ListView 是通过 SQLDataSource 填充的,该 SQLDataSource 当前提供了许多指向 .flv 文件的 URL。
但是如果我在我的用户控件中放置一个
' 它将不起作用,因为我可能有多个 id="replaceme" 而可怜的 swfobject 不会喜欢。所以我的邪恶解决方案是在我的用户控件中放置一个
如果从数据库中检索的库对象是视频并切换到 MultiView 控件的相关视图,则调用 ApplyVideoConfiguration。
protected void ApplyVideoConfiguration()
{
MultiViewLibItem.ActiveViewIndex = 3;
string functionName = "MakeFlashFor_" + this.ClientID;
string divId = "fp" + this.ClientID;
VideoScriptLiteral.Text =
"<script type=\"text/javascript\">" +
"Sys.Application.add_load(" + functionName + ");" +
"function " + functionName + "(){" +
"swfobject.embedSWF('PanamaVideoThumbnail.swf', '" + divId + "', '140', '127', '10');" +
"};" +
"</script>" +
"<div id=\"" + divId + "\" ></div>" ;
}
我想知道,这是一个多么糟糕的解决方案,当谈到最佳实践时,我真的完全没有经验,但我的直觉告诉我这很糟糕,尽管它确实成功地嵌入了一些 Flash Player 实例.
谁能帮我把它变美?
【问题讨论】:
标签: asp.net flash user-controls swfobject