当前位置:有风信息港IT学院编程技术.net → 能自定义WebControl:广告控件

能自定义WebControl:广告控件

减小字体 增大字体 作者:有风IT学院  来源:有风信息港  发布时间:2008-1-13 9:03:28
花3小时写了个广告控件
组合了3中广告形式:1,Flash的轮显广告,如zol.com.cn笔记本频道首页广告。2,一般的flash广告。3,一般的图片广告。

代码如下:


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Text;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;





namespace AppControl

{

[ToolboxData("<{0}:Advertisement runat=server>")]

public class Advertisement : Literal

{



protected override void OnInit(EventArgs e)

{

this.Text = AdCode;

base.OnInit(e);

}



#region 属性

[Browsable(false)]

[Description("广告代码")]

public string AdCode

{

get

{

StringBuilder sb = new StringBuilder();

switch (AdType)

{

case AdTypeList.Img:

sb.AppendFormat(@"{4}javascript:window.open(this.src);" style="cursor: pointer;"/>
if (CssClass != null)

{

sb.AppendFormat(@" class={0}", CssClass);

}

sb.AppendFormat(@"/>");

break;

case AdTypeList.Flash:

sb.AppendFormat(@"
if (CssClass != null)

{

sb.AppendFormat(" class='{0}'", CssClass);

}

sb.AppendFormat(@">

", Width, Height, Flash);



break;

case AdTypeList.Repeat:

sb.AppendFormat(@"
if (CssClass != null)

{

sb.AppendFormat(" class='{0}'", CssClass);

}

sb.AppendFormat(@">

",Width,Height,TextHeight,Pics,Links,Texts,Flash,Flash);

break;

}

string temp = sb.ToString();

temp = temp.Replace('$', '\"');

return temp;

}



}



///

/// 广告类型

///


[Browsable(true)]

[Category("类型")]

[DefaultValue(AdTypeList.Img)]

[Description("广告类型")]

public AdTypeList AdType

{

get

{

object obj = ViewState["AdType"];

return (obj == null) ? AdTypeList.Img : (AdTypeList)obj;

}

set

{

ViewState["AdType"] = value;

}

}



///

/// 广告css样式

///


[Browsable(true)]

[Category("样式")]

[Description("广告样式")]

public string CssClass

{

get

{

object obj = ViewState["CssClass"];

return (obj == null) ? null : (string)obj;

}

set

{

ViewState["CssClass"] = value;

}

}



///

/// 广告高度,轮显广告不包括下面文字高度

///


[Browsable(true)]

[Category("样式")]

[DefaultValue("200")]

[Description("广告高度,轮显广告不包括下面文字高度")]

public int Height

{

get

{

object obj = ViewState["Height"];

return (obj == null) ? 200 : (int)obj;

}



set

{

ViewState["Height"] = value;

}

}



///

/// 广告宽度

///


[Browsable(true),

Category("样式"),

DefaultValue("300"),

Description("广告宽度")]

public int Width

{

get

{

object obj = ViewState["Width"];

return (obj == null) ? 300 : (int)obj;

}

set

{

ViewState["Width"]=value;

}

}



///

/// 轮显广告的文字高度,其他广告类型无效

///


[Browsable(true),

Category("样式"),

DefaultValue("20"),

Description("轮显广告下的文字高度")

]

public int TextHeight

{

get

{

object obj = ViewState["TextHeight"];

return (obj == null) ? 20 : (int)obj;

}

set

{

ViewState["TextHeight"] = value;

}

}



///

/// 图片路径,轮显广告多个图片用 分开,Flash广告无效

///


[Browsable(true)]

[Category("数据")]

[Description("图片路径,轮显广告多个图片用 分割")]

public string Pics

{

get

{

object obj = ViewState["Pics"];

return (obj == null) ? null : (string)obj;

}

set

{

ViewState["Pics"] = value;

}

}



///

/// 广告链接,轮显广告多个图片用 分开,Flash广告无效

///


[Browsable(true)]

[Category("数据")]

[Description("广告链接,轮显广告多个链接用 分割")]

public string Links

{

get

{

object obj = ViewState["Links"];

return (obj == null) ? null : (string)obj;

}

set

{

ViewState["Links"]=value;

}

}



///

/// 标题文字,轮显广告多条标题用 分开,Flash广告无效

///


[Browsable(true)]

[Category("数据")]

[Description("标题文字,轮显广告多条标题用 分开")]

public string Texts

{

get

{

object obj = ViewState["Texts"];

return (obj == null) ? null : (string)obj;

}

set

{

ViewState["Texts"] = value;

}

}



///

/// Flash 路径,图片广告无效

///


[Browsable(true)]

[Category("数据")]

[Description("Flash路径")]

public string Flash

{

get

{

object obj = ViewState["Flash"];

return (obj == null) ? null : (string)obj;

}

set

{

ViewState["Flash"] = value;

}

}



#endregion



#region 枚举

///

/// 广告类型

///


public enum AdTypeList : byte

{

///

/// 轮显广告

///


Repeat,

///

/// 图片广告

///


Img,

///

/// Flash广告

///


Flash

}

#endregion



}

}



新建测试页部分代码如下:


Flash="http://pic.zol.com.cn/pix.swf" Height="200" Links="http://nb.zol.com.cn/53/538609.html http://nb.zol.com.cn/53/538537.html http://nb.zol.com.cn/53/536400.html http://nb.zol.com.cn/53/536605.html http://nb.zol.com.cn/53/538203.html http://nb.zol.com.cn/53/536560.html" Pics="http://digital.zol.com.cn/115_module_images/747.jpg http://digital.zol.com.cn/115_module_images/748.jpg http://digital.zol.com.cn/115_module_images/743.jpg http://digital.zol.com.cn/115_module_images/739.jpg http://digital.zol.com.cn/115_module_images/744.jpg http://digital.zol.com.cn/115_module_images/738.jpg" Text="广告控件" TextHeight="20" Texts="双核赛扬有望现身英特尔Merom-L就绪 仅元TCL丽屏T51升G内存全面铺货 神舟宽屏MB内存双核本只卖元 轻薄还护眼4999元寸七喜AW300C评测 天逸系列最强音联想酷睿独显F50促销 “实战“检验 戴尔ATG本本直面枪林弹雨" Width="300">








Pics="http://www.linkedu.com.cn:9991/UploadFile/button01.gif" Text="javascript:window.open(this.src);" style="cursor: pointer;"/>"

TextHeight="20" Texts="教盟网" Width="300">






Flash" Flash="http://pic.zol.com.cn/200704/4intelc2dnb76090_0401.swf"

Height="200" Text="javascript:window.open(this.src);" style="cursor: pointer;"/>"

TextHeight="20" Width="300">

文章评论评论内容只代表网友观点,与本站立场无关!

频道栏目导航

本类热门阅览

相关文章