Çünkü flash bannerlarımızı bu kontrol ile kullanamıyoruz. Bu sorunu çözebilmek için aşağıdaki kodu kullanabiliriz.
1. adımda xml dosyamızı oluşturup projemize ekleyelim. 2.adımda webcustomcontrol kullanarak kendi adrotator kontrolumuzu yaratalım ve build edip oluşan dll'i projemizin bin klasörüne atalım..
3.ve son adım olarak da adrotatorumuzu kullanacağımız sayfayı aşağıdaki gibi düzenleyelim..
1.myAdvertisement.xml
<Advertisements>
<Ad>
<ImageUrl>1.swf</ImageUrl>
<NavigateUrl>http://www.google.com</NavigateUrl>
<AlternateText>Welcome</AlternateText>
<Keyword>W</Keyword>
<Impressions></Impressions>
</Ad>
<Ad>
<ImageUrl>2.swf</ImageUrl>
<NavigateUrl>http://www.webgelistir.net</NavigateUrl>
<AlternateText>WebGelistir</AlternateText>
<Keyword>T</Keyword>
<Impressions></Impressions>
</Ad>
<Ad>
<ImageUrl>3.swf</ImageUrl>
<NavigateUrl>http://www.altavista.com</NavigateUrl>
<AlternateText>altavista</AlternateText>
<Keyword>Y</Keyword>
<Impressions></Impressions>
</Ad>
</Advertisements>
2.CAdrotator.vb
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Text
Imports System.Web
<DefaultProperty("Text"), ToolboxData("<{0}:CAdRotator runat="server"></{0}:CAdRotator>")>
Public Class CAdRotator
Inherits System.Web.UI.WebControls.AdRotator
Private blnSWF As Boolean
Private strImgUrl As String
Private strNavUrl As String
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.blnSWF Then
Dim StringFormat As StringBuilder = New StringBuilder("<object height=""60"" width=""468"" classid=""clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"" ")
StringFormat.Append("codebase=""http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"" width={0} height={1}>")
StringFormat.Append(" <param name=""movie"" value={2}>")
StringFormat.Append(" <param name=""quality"" value=""high"">")
StringFormat.Append(" <embed src={3} quality=""high"" ")
StringFormat.Append(" pluginspage=""http://www.macromedia.com/go/getflashplayer"" type=""application/x-shockwave-flash""></embed></object>")
Dim OutPutString As StringBuilder = New StringBuilder()
OutPutString.AppendFormat(StringFormat.ToString, 1000, 1000, Me.strImgUrl, Me.strImgUrl)
writer.Write(OutPutString.ToString)
Else
MyBase.Render(writer)
End If
End Sub
Protected Overrides Sub OnAdCreated(ByVal e As AdCreatedEventArgs)
MyBase.OnAdCreated(e)
If e.ImageUrl.ToLower().IndexOf(".swf") <> -1 Then
Me.blnSWF = True
Me.strImgUrl = e.ImageUrl
Me.strNavUrl = e.NavigateUrl
Else
Me.blnSWF = False
End If
End Sub
End Class
3. Webform1.aspx
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>
<%@ Register TagPrefix="cc1" Namespace="AdRotator" Assembly="AdRotator" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<cc1:CAdRotator id="CAdRotator1" style="Z-INDEX: 101; LEFT: 182px; POSITION: absolute; TOP: 123px" runat="server" AdvertisementFile="myAdvertisement.xml" ></cc1:CAdRotator>
</form>
</body>
</HTML>
Bu şekilde hem swf bannerlarımızı hem gif bannerlarımızı aynı adrotator içinde de kullanabiliriz..