一个能支持Flash的广告控件

本文介绍了一个自定义的ASP.NET控件FlashAdRotator,该控件用于在网页中展示Flash广告。通过判断广告文件类型,控件能够智能地选择是否使用Flash播放器进行渲染,并提供了一种简洁的方法来处理不同类型的广告文件。
摘要由CSDN通过智能技术生成
这一篇文章是看别人的一个文档以后,自己模访写的;
在项目里面,我们就要用到这个控件了,解决了我们的问题,但是不是很难
不在这里多说,先看下面的代码吧:

using  System;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.ComponentModel;
using  System.Text;
namespace  FlashAdRotator
 
{
     
/**//**//**//// <summary>
    
/// fpAdRotator 的摘要说明。
    
/// </summary>

    [DefaultProperty("Text"), 
        ToolboxData(
"<{0}:fpAdRotator runat=server></{0}:fpAdRotator>")]
    
public class fpAdRotator : System.Web.UI.WebControls.AdRotator
    
{
        
private bool isflashad;
       
private string imgurl;
        [Bindable(
true), 
          Category(
"Appearance"), 
            DefaultValue(
"")] 
        
/**//**//**//// <summary> 
        
/// 将此控件呈现给指定的输出参数。
        
/// </summary>
        
/// <param name="output"> 要写出到的 HTML 编写器 </param>

       protected override void Render(HtmlTextWriter output)
       
{
           
try
            
{
                
if(isflashad==true)
                
{
                    StringBuilder sb
=new StringBuilder("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"");
                    sb.Append(
"codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width={0} height={1}>");
                    sb.Append("<param name=\"movie\" value={2} />");
                    sb.Append(
"<param name=\"quality\" value=\"high\"/>");
                   sb.Append(
"<embed src={3} quality=\"high\"");
                   sb.Append(
"pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width={4} height={5}></embed></object>");
                  StringBuilder outstr=new StringBuilder();
                   outstr.AppendFormat(sb.ToString(),
this.Width,this.Height,this.imgurl,this.imgurl,this.Width,this.Height);
                    output.Write(outstr);
              }

                
if(isflashad==false)
                
{
                    
//this.Render(output);
                   base.Render (output);
                }

           }

            
catch
            
{
               StringBuilder sb
=new StringBuilder("<table><tr>广告媒体不存在<td></td></tr><table>");
                output.Write(sb);
            }

        }

        
protected override void OnAdCreated(AdCreatedEventArgs e)
       
{
            
if(e.ImageUrl.ToLower().IndexOf(".swf")!=-1)
            
{
                
this.isflashad=true;
               
this.imgurl=e.ImageUrl;
            }

            
else
            
{
               
this.isflashad=false;
            }

        }

    }

}

以上就是主要的代码,
但是我也有很我的地方不是很明白,
如果其中的
 sb.Append( " codebase=\ " http: // download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width={0} height={1}>");


 sb.Append(
" pluginspage=\ " http: // www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width={4} height={5}></embed></object>");
URL地址变了,那么就不能正常的显示出来Flash文件了
至于其中的URL地址变不变,我都得考虑的这个问题,
请高手指点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值