Monday, August 14, 2017

How to show rotating ads using Sql server database in asp.net

In this article I am going to explain how to show rotating ads using Sql server database in asp.net without page refresh.

Description:
Adrotator control is used to show custom Ads (advertisements) on asp.net build websites. When users click on any ad they will be redirect to link assign for that. We can use both Xml and database as data source. Xml and database table must have following properties and columns: ImageUrl, NavigateUrl, AlternateText, Impressions, Keyword, Width and Height.

Implementations:
In this example I am going to use sql server database as adrotator data source. I have create a table Ads and insert some dummy records into it.


How to show rotating ads using Sql server database in asp.net



Complete source of webform

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
     <asp:Timer ID="Timer1" Interval="1000" runat="server"/>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
            <ContentTemplate>
                 <asp:AdRotator ID="AdRotator1" runat="server" Target="_blank"/>
            </ContentTemplate>
            <Triggers>
                            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
                        </Triggers>
        </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

Add namespaces

C# Code
using System.Configuration;
using System.Data.SqlClient;
using System.Data;

VB.net Code
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Bind data to Adrotator
Create a method to get data from database and call it on page load.

C# Code
  SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["connection"].ToString());
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            AdRotator1.DataSource = BindAds();
            AdRotator1.DataBind();
        }
    }
    public DataTable BindAds()
    {
            SqlDataAdapter adp = new SqlDataAdapter("Select * from Ads", con);
            DataTable dt = new DataTable();
            adp.Fill(dt);
            return dt;
    }
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        AdRotator1.DataSource = BindAds();
        AdRotator1.DataBind();
    }


VB.net Code
  Private con As New SqlConnection(ConfigurationManager.ConnectionStrings("connection").ToString())
    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        If Not IsPostBack Then
            AdRotator1.DataSource = BindAds()
            AdRotator1.DataBind()
        End If
    End Sub
   Public Function BindAds() As DataTable
        Dim adp As New SqlDataAdapter("Select * from Ads", con)
        Dim dt As New DataTable()
        adp.Fill(dt)
        Return dt
    End Function

    Protected Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        AdRotator1.DataSource = BindAds()
        AdRotator1.DataBind()
    End Sub


No comments:

Post a Comment