带有 Flash 变量的简单 ASP.NET 容器控件

分享于 

4分钟阅读

Web开发

  繁體 雙語

介绍

我遇到的大多数SWF容器都是复杂的,会花费很多时间,或者没有我需要的功能。 这个小控件是任何SWF控件的容器,并且还可以动态接收 Flash 变量。

使用代码

要使用这里代码,只需将类 EmbeddedObject 添加到你的web应用程序,不要忘记更改名称空间的名称以满足你的需求。 添加之后,编译应用程序,使工具箱项刷新,并将嵌入的SWF对象拖到你选择的网页的网页上。

若要在运行时动态添加 Flash 变量,请使用 AddVariable 方法。

新的Flash 变量将被呈现到控件中并发送到客户端。

EmbeddedObject1.AddVariable("FLV_PATH", txtFlvPath.Text)

代码的简单性反映在呈现方法中,它创建一个带有嵌入 Flash 变量的简单 Flash 对象。 如果你查看包含 Flash 广告的任何网页的源代码,你可能会看到相似的内容。

protectedoverridevoid RenderContents(HtmlTextWriter writer)
{
 try {
 StringBuilder sb = new StringBuilder();
 string flashVariableString = "";
 foreach (FlashVariable fv in FlashVariables)
 flashVariableString += fv.Name + "=" + fv.Value + "&";
 if (FlashVariables.Count >0)
 flashVariableString = flashVariableString.Substring(0, 
 flashVariableString.Length - 1);
 sb.Append(&quot;<object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; &quot;);
 sb.Append(&quot;codebase=&quot;http://download.macromedia.com/pub/&quot; +  &quot;shockwave/cabs/flash/swflash.cab#version=5,0,2,0&quot; ID=Moshe Width=&quot; + 
 Width.Value.ToString() + &quot; Height=&quot; + Height.Value.ToString() + &quot; > &quot;);
 sb.Append(&quot;<param name=movie value=&quot;&quot; + FilePath.ToString() + &quot;&quot;> &quot;);
 sb.Append(&quot;<param name=FlashVars value=&quot;&quot; + flashVariableString + &quot;&quot;>&quot;);
 sb.Append(&quot;<param name=quality value=high> &quot;);
 sb.Append(&quot;<param name=BGCOLOR value=#FFFFFF>&quot;);
 sb.Append(&quot;<embed src=&quot;&quot; + FilePath.ToString() + &quot;&quot; &quot;);
 sb.Append(&quot;pluginspage=&quot;http://www.macromedia.com/shockwave/download/&quot; +  &quot;index.cgi?P1_Prod_Version=ShockwaveFlash&quot; type=&quot;application&quot; + 
 &quot;/x-shockwave-flash&quot; &quot;);
 sb.Append(&quot;Width = &quot; + Width.Value.ToString() + &quot; &quot;);
 sb.Append(&quot;Height = &quot; + Height.Value.ToString() + &quot; &quot;);
 sb.Append(&quot;bgcolor=#FFFFFF &quot;);
 sb.Append(&quot;FlashVars=&quot;&quot;+ flashVariableString + &quot;&quot; &quot;);
 sb.Append(&quot;TYPE=&quot;application/x-shockwave-flash&quot; &quot;);
 sb.Append(&quot;><embed></object>&quot;);
 writer.Write(sb.ToString());
 }
 catch(Exception ex)
 {
 writer.RenderBeginTag(HtmlTextWriterTag.Div);
 writer.Write(&quot;Custom Flash Control&quot;);
 writer.RenderEndTag();
 }
}

Points of Interest

这个小小猪在尝试使用其他购买的SWF包装控件时给我省了很多麻烦。 但有时,最好是搜索扩展功能。

如果你是与 Flash 一起工作的网页设计师,那么你就会发现这非常有用,因为你可以在web服务器和控件之间轻松通信。


控制  asp  asp-net  FLA  Contain  VAR  
相关文章