Click here to Skip to main content
15,178,462 members
Articles / Web Development / ASP.NET
Posted 2 May 2005


64 bookmarked

AdRotator Using ASP.NET Code Behind

Rate me:
Please Sign up or sign in to vote.
3.65/5 (39 votes)
2 May 2005CPOL4 min read
This article will teach you how to develop a website with ad management system.


.NET is the new distributed computing platform developed by Microsoft and ASP.NET is its programming model for web development. Advertisements on Web pages typically take the form of ad banners — .gif files or similar images — that when clicked redirect the user to the advertisers' Web pages. In order to generate ads on your Web page you will need the image files and accompanying URLs. The intent of this article is to get a good experience in developing using the AdRotator web server control for beginners. This application will teach you how to develop a website with an ad management system. This uses XML to change ads in the web page.

Overview of the Solution

The AdRotator web server control cycles through a series of clickable ad banners, and allows some ads to be weighted more heavily than others. Ads can either be linked to the control using an XML file with a predefined schema or by creating your own custom logic. Use the AdRotator control to retrieve and display ads with one of two methods:

  • Create an XML file containing references to ad banners and their associated properties.
  • Write your own logic to select an ad banner in the AdCreated event.


One method of storing ad banner image locations, URLs for redirection, and associated properties is to put the detailed information in an XML file. By using the XML file format, you can create and maintain a list of advertisements without having to change the other code inside your application when a change is made to an advertisement. The XML file can be created using the Ad Rotator Schedule File template in the XML designer or manually by the developer.

Controls used in this application

protected System.Web.UI.WebControls.AdRotator AdRotator;
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;

Namespaces used in this application:

using System.Web.UI.WebControls;
using System.Drawing;
using System.Web.UI.HtmlControls;

Solution with Code

In the XML file, we can filter the ads by the keywords we declared for each ad. First you add the AdRotator control to a page, and then link it to the ads you wish to display. Link ads to the control either by using a separate XML file containing the ad information or by linking the ads to the control within an event handler at run time.

Adding the AdRotator web server control to your web application: first, select the AdRotator and drag and drop the control to your web form. Map the XML file which contains the details about each and every ad.

        <AlternateText>ASP.NET Logo</AlternateText>
        <Caption>This is the caption for Ad#1</Caption> 

        <Impressions>Web Site</Impressions>
        <Caption>This is the caption for Ad#2</Caption> 

        <Impressions>Flash Site</Impressions>
        <Caption>This is the caption for Ad#2</Caption> 

The above shown is the XML code. The above XML template contains the details about each ad that is going to be placed in the web application. You can create an ad list for the AdRotator control in the XML designer using the Ad Rotator Schedule File as the target schema.

The AdRotator Properties

  • ImageUrl - The URL of the image to display.
  • NavigateUrl - The URL of the page to navigate to when the AdRotator control is clicked.
  • AlternateText - The text to display if the image is unavailable.
  • Keyword - The category of the ad that can be used to filter for specific ads.
  • Impressions - A numeric value that indicates the likelihood of how often the ad is displayed. The total of all impression values in the XML file may not exceed 2,048,000,000 - 1. All attributes are optional.

The AdRotator Class

Basically, the actual AdRotator class only provides a limited set of properties:

<asp:AdRotator id="controlName" runat="server" 
    AdvertisementFile="ads.xml" Target="_self">

Here we can see how a placeholder control creates the ad rotator control at runtime dynamically and how it works. The PlaceHolder control enables you to place an empty container control in the page and then dynamically add child elements to it at run time.

// Create an AdRotator control.
AdRotator rotator = new AdRotator();

// Set the control's properties.
rotator.AdvertisementFile = "AdRotatorFiles.xml";

// Add the control to the Controls collection of a 
// PlaceHolder control.  

The PlaceHolder web server control enables you to place an empty container control within the page and then dynamically add, remove, or loop through child elements at run time. The control only renders its child elements; it has no HTML-based output of its own. As an example, you might want to have a variable number of buttons appear on a web page, depending on options selected by users. That way, users are not confronted with potentially confusing choices that are either unavailable or not relevant to their individual needs.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Chief Technology Officer at Zealots
Australia Australia
No Biography provided

Comments and Discussions

QuestionSolution for IMAGE not working problem.... Pin
Adhiraj Jaryal10-Jul-13 18:02
MemberAdhiraj Jaryal10-Jul-13 18:02 
QuestionAdrotator performance Pin
Member 288901311-Dec-12 17:07
MemberMember 288901311-Dec-12 17:07 
QuestionAdrotator performance Pin
Member 288901311-Dec-12 17:05
MemberMember 288901311-Dec-12 17:05 
GeneralMy vote of 1 Pin
Member 164379229-Jun-12 1:37
professionalMember 164379229-Jun-12 1:37 
GeneralImages not Getting Dispalyed Pin
Raj Trivedi13-Jun-12 19:00
MemberRaj Trivedi13-Jun-12 19:00 
QuestionAdrotator do not show images Pin
Amol Khandagale16-May-12 3:10
MemberAmol Khandagale16-May-12 3:10 
GeneralMy vote of 5 Pin
Manoj Kumar Choubey15-Mar-12 21:50
professionalManoj Kumar Choubey15-Mar-12 21:50 
QuestionAd Rotator - crashes page when using runat=server Pin
Barnsley717-Nov-11 4:28
MemberBarnsley717-Nov-11 4:28 
GeneralMy vote of 5 Pin
GSKR18-Jun-11 3:12
MemberGSKR18-Jun-11 3:12 
GeneralMy vote of 4 Pin
bsb2516-May-11 22:27
Memberbsb2516-May-11 22:27 
GeneralMy vote of 2 Pin
Ashishmau13-Feb-11 23:25
MemberAshishmau13-Feb-11 23:25 
GeneralMy vote of 1 Pin
balakrishna.ch10-Feb-11 2:36
Memberbalakrishna.ch10-Feb-11 2:36 
GeneralMy vote of 4 Pin
vsanju14-Oct-10 23:08
Membervsanju14-Oct-10 23:08 
Thank u so much dear
QuestionI have tryed your example Pin
Viswa Teja22-Sep-10 4:46
MemberViswa Teja22-Sep-10 4:46 
GeneralMy vote of 1 Pin
mukeshvalera4-Apr-10 23:46
Membermukeshvalera4-Apr-10 23:46 
GeneralSolution: Click on flash Pin
neviofr14-Mar-09 13:20
Memberneviofr14-Mar-09 13:20 
GeneralClarification in ASP.NET Server Control Pin
Mohammad Ilyas1-Oct-07 21:25
MemberMohammad Ilyas1-Oct-07 21:25 
GeneralRe: Clarification in ASP.NET Server Control Pin
vivekthangaswamy2-Oct-07 22:12
professionalvivekthangaswamy2-Oct-07 22:12 
Generalneed help(swf files don,t run in adrotator) Pin
zumty20-Aug-07 22:00
Memberzumty20-Aug-07 22:00 
QuestionASP.Net Pin
nickymcn18-Jun-07 21:53
Membernickymcn18-Jun-07 21:53 
GeneralUnable to play flash file Pin
kklahoti18-May-07 22:17
Memberkklahoti18-May-07 22:17 
GeneralRe: Unable to play flash file Pin
vivekthangaswamy4-Jun-07 22:30
professionalvivekthangaswamy4-Jun-07 22:30 
Questionhow to use without refreshing AdRotator Pin
Kalpesh200731-Mar-07 1:03
MemberKalpesh200731-Mar-07 1:03 
GeneralUsing AdRotator in Windows Application Pin
Sameerkumar Namdeo20-Mar-07 2:03
MemberSameerkumar Namdeo20-Mar-07 2:03 
GeneralRe: Using AdRotator in Windows Application Pin
vivekthangaswamy20-Mar-07 20:23
professionalvivekthangaswamy20-Mar-07 20:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.