ASP.NET - Ad Rotator
The AdRotator control randomly selects banner graphics from a list, which is specified in an external XML schedule file. This external XML schedule file is called the advertisement file.
The AdRotator control allows you to specify the advertisement file and the type of window that the link should follow in AdvertisementFile and Target property respectively.
The basic syntax of adding an AdRotator is as follows:
<asp:AdRotator runat = "server" AdvertisementFile = "adfile.xml" Target = "_blank" />
Before going into details of the AdRotator control and its properties, let us look into the construction of the advertisement file.
The Advertisement File:
The advertisement file is an XML file, which contains the information about the advertisements to be displayed.
Extensible Markup Language (XML) is a W3C standard for text document markup. It is a text-based markup language that enables you to store data in a structured format by using meaningful tags. The term 'extensible' implies that you can extend you ability to describe a document by defining meaningful tags for your application.
XML is not a language in itself, like HTML but, a set of rules for creating new markup languages. It is a meta-markup language. It allows developers to create custom tag sets for special uses. It structures, stores and transport information.
Following is an example of XML file:
<BOOK> <NAME> Learn XML </NAME> <AUTHOR> Samuel Peterson </AUTHOR> <PUBLISHER> NSS Publications </PUBLISHER> <PRICE> $30.00</PRICE> </BOOK>
Like all XML files, the advertisement file needs to be a structured text file with well-defined tags delineating the data. There are the following standard XML elements that are commonly used in the advertisement file:
|Advertisements||Encloses the advertisement file|
|Ad||Delineates separate ad|
|ImageUrl||The image that will be displayed|
|NavigateUrl||The link that will be followed when the user clicks the ad|
|AlternateText||The text that will be displayed instead of the picture if it cannot be displayed|
|Keyword||Keyword identifying a group of advertisements. This is used for filtering|
|Impressions||The number indicating how often an advertisement will appear|
|Height||Height of the image to be displayed|
|Width||Width of the image to be displayed|
Apart from these tags, customs tags with custom attributes could also be included. The following code illustrates an advertisement file ads.xml:
<Advertisements> <Ad> <ImageUrl>rose1.jpg</ImageUrl> <NavigateUrl>http://www.1800flowers.com</NavigateUrl> <AlternateText> Order flowers, roses, gifts and more </AlternateText> <Impressions>20</Impressions> <Keyword>flowers</Keyword> </Ad> <Ad> <ImageUrl>rose2.jpg</ImageUrl> <NavigateUrl>http://www.babybouquets.com.au</NavigateUrl> <AlternateText>Order roses and flowers</AlternateText> <Impressions>20</Impressions> <Keyword>gifts</Keyword> </Ad> <Ad> <ImageUrl>rose3.jpg</ImageUrl> <NavigateUrl>http://www.flowers2moscow.com</NavigateUrl> <AlternateText>Send flowers to Russia</AlternateText> <Impressions>20</Impressions> <Keyword>russia</Keyword> </Ad> <Ad> <ImageUrl>rose4.jpg</ImageUrl> <NavigateUrl>http://www.edibleblooms.com</NavigateUrl> <AlternateText>Edible Blooms</AlternateText> <Impressions>20</Impressions> <Keyword>gifts</Keyword> </Ad> </Advertisements>
Properties and events of the AdRotator Class:
The AdRotator class is derived from the WebControl class and inherits its properties. Apart from those the AdRotator class has the following properties:
|AdvertisementFile||The path to the advertisement file.|
|AlternateTextFeild||The element name of the field where alternate text is provided; default value is AlternateText.|
|DataMember||The name of the specific list of data to be bound when advertisement file is not used.|
|DataSource||Control from where it would retrieve data.|
|DataSourceID||Id of the control from where it would retrieve data.|
|Font||Specifies the font properties associated with the advertisement banner control.|
|ImageUrlField||The element name of the field where the URL for the image is provided; default value is ImageUrl.|
|KeywordFilter||For displaying the keyword based ads only.|
|NavigateUrlField||The element name of the field where the URL to navigate to is provided; default value is NavigateUrl.|
|Target||The browser window or frame that displays the content of the page linked.|
|UniqueID||Obtains the unique, hierarchically qualified identifier for the AdRotator control.|
Following are the important events of the AdRotator Class:
|AdCreated||It is raised once per round trip to the server after creation of the control, but before the page is rendered|
|DataBinding||Occurs when the server control binds to a data source.|
|DataBound||Occurs after the server control binds to a data source.|
|Disposed||Occurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested|
|Init||Occurs when the server control is initialized, which is the first step in its lifecycle.|
|Load||Occurs when the server control is loaded into the Page object.|
|PreRender||Occurs after the Control object is loaded but prior to rendering.|
|Unload||Occurs when the server control is unloaded from memory.|
Working with the AdRotator Control
Create a new web page and place an AdRotator control on it.
<form id="form1" runat="server"> <div> <asp:AdRotator ID="AdRotator1" runat="server" AdvertisementFile ="~/ads.xml" onadcreated="AdRotator1_AdCreated" /> </div> </form>
The ads.xml file and the image files should be located in the root directory of the web site.
Try to run the above application an dobserve that each time the page is reloaded, the ad is changed.