ASP.NET


ASP.Net'de Ad Rotator ve Flash

Etiketler :
asp.net, ad rotator, rotator, flash, swf

Okunma Sayısı : 190  Yayınlanma Tarihi : 28.03.2008  Yayınlayan : Akın Bostancı

Puanla
Bu Makaleye 0 kişi puan vermiştir. Ortalama Puan: 0

Özet :
Asp.Net'in Ad Rotator özelliğinin, sayfamızı her refresh ettiğimizde farklı bir banner getirmesi ile çok işimize yaradığını biliyoruz.. Fakat önemli bir eksiği var..

Çü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..

ASP.NET Kategorisinden Son Makaleler

Makale ile ilgili Yorumlar

Bu makale hakkında henüz yorum yapılmamıştır...


Güvenlik Kodunuz

Yorum ekleyebilmeniz için üye olmanız gerekmektedir.
Üye iseniz üye girişi yapınız.. Üye değilseniz, üye olmak için tıklayınız