AdRotator.Render Method

Displays the AdRotator control on the client.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

protected public:
virtual void Render (
	HtmlTextWriter^ writer
) override
protected void Render (
	HtmlTextWriter writer
)
protected internal override function Render (
	writer : HtmlTextWriter
)
Not applicable.

Parameters

writer

A System.Web.UI.HtmlTextWriter that contains the output stream to render on the client.

Displays an image obtained from the advertisement chosen in OnPreRender.

The following code example demonstrates how to override the Render method in a custom server control so that the AdRotator displays a random advertisement, from an XML file, with a link and an image.

No code example is currently available or this language may not be supported.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Custom AdRotator - Render - VJ# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">
      <h3>Custom AdRotator - Render - VJ# Example</h3>

      <aspSample:CustomADRotatorRender
        id="CustomAdRotator1"
        runat="server"
        Target="_blank"
        AdvertisementFile="~/App_Data/Ads.xml" />

    </form>
  </body>
</html>

	...

package Samples.AspNet.JSL.Controls;

import System.Collections.*;

///** @attribute System.Security.Permissions.PermissionSet(
//    System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")
//d */
public class CustomADRotatorRender extends System.Web.UI.WebControls.AdRotator
{
    private String applicationCachePrefix = "CustomAdRotatorCache: ";

    protected void Render(System.Web.UI.HtmlTextWriter writer)
    {
        String navigateUrl = "";
        String imageUrl = "";
        String alternateText = "";
        // If the value for the Advertisement File is not empty.
        if (this.get_AdvertisementFile().get_Length() > 0) {
            // Get a random ad.
            GetRandomAd(imageUrl, navigateUrl, alternateText);
        }
        // Create and render a new HyperLink Web control.
        System.Web.UI.WebControls.HyperLink bannerLink = 
            new System.Web.UI.WebControls.HyperLink();
        IEnumerator myEnum = this.get_Attributes().get_Keys().GetEnumerator();
        while (myEnum.MoveNext()) {
            String key = myEnum.get_Current().ToString();
            bannerLink.get_Attributes().set_Item(key, 
                this.get_Attributes().get_Item(key));
        }
        if (this.get_ID() != null && this.get_ID().get_Length() > 0) {
            bannerLink.set_ID(this.get_ClientID());
        }
        bannerLink.set_NavigateUrl(navigateUrl);
        bannerLink.set_Target(this.get_Target());
        bannerLink.set_AccessKey(this.get_AccessKey());
        bannerLink.set_Enabled(this.get_Enabled());
        bannerLink.set_TabIndex(this.get_TabIndex());
        bannerLink.RenderBeginTag(writer);
        // Create and render a new Image Web control.
        System.Web.UI.WebControls.Image bannerImage = 
            new System.Web.UI.WebControls.Image();
        if (get_ControlStyleCreated()) {
            bannerImage.ApplyStyle(this.get_ControlStyle());
        }
        bannerImage.set_AlternateText(alternateText);
        bannerImage.set_ImageUrl(imageUrl);
        bannerImage.set_ToolTip(this.get_ToolTip());
        bannerImage.RenderControl(writer);
        bannerLink.RenderEndTag(writer);
    } //Render

    private void GetRandomAd(String imageUrl, String navigateUrl, 
        String alternateText)
    {
        // Default output parameters values.
        imageUrl = "";
        navigateUrl = "";
        alternateText = "";
        // Try to get the Ads DataSet from the ASP.NET cache.
        String physicalPath = MapPathSecure(this.get_AdvertisementFile());
        String fileKey = applicationCachePrefix + physicalPath;
        System.Web.Caching.Cache cache = 
            System.Web.HttpContext.get_Current().get_Cache();
        System.Data.DataSet dataSet = 
            (System.Data.DataSet)cache.get_Item(fileKey);
        // If the Ads DataSet was not found in the ASP.NET cache.
        if (dataSet == null) {
            // Get the Ads from an XML file.
            dataSet = new System.Data.DataSet();
            dataSet.ReadXml(physicalPath, 
                System.Data.XmlReadMode.InferSchema);
            // Insert the DataSet into the Cache.
            // Make sure your AntiVirus software doesn't touch the XMLf file, 
            // or else the cache will be empty each time the Render 
            // method gets called.
            cache.Insert(fileKey, dataSet, 
                new System.Web.Caching.CacheDependency(physicalPath));
        }
        // If Ads were found in the XML File.
        int totalAds = dataSet.get_Tables().get_Item(0).get_Rows().get_Count();
        if (totalAds > 0) {
            // Select a random Ad.
            System.Random random = new System.Random();
            int selectedAdIndex = random.Next(totalAds);
            // Output the random Ad's values.
            imageUrl = dataSet.get_Tables().get_Item(0).get_Rows().
                get_Item(selectedAdIndex).get_ItemArray().get_Item(0).
                ToString();
            navigateUrl = dataSet.get_Tables().get_Item(0).get_Rows().
                get_Item(selectedAdIndex).get_ItemArray().get_Item(1).
                ToString();
            alternateText = dataSet.get_Tables().get_Item(0).get_Rows().
                get_Item(selectedAdIndex).get_ItemArray().get_Item(2).
                ToString();
        }
    } //GetRandomAd
} //CustomADRotatorRender

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show: