Rating Control:

The Rating control provides an intuitive rating experience that allows users to select the number of stars that represents their rating. For example we can implement this rating feature to any product review, articles rating, movie rating and etc. 

Here I’m going to demonstrate, how to use AJAX Rating Control with database.

Rating Control properties:

<ajaxToolkit:Rating ID="ThaiRating" runat="server"







    OnChanged="ThaiRating_Changed" />


AutoPostBack - True to cause a postback on rating item click.

CurrentRating - Initial rating value

MaxRating - Maximum rating value

ReadOnly - Whether or not the rating can be changed

StarCssClass - CSS class for a visible star

WaitingStarCssClass - CSS class for a star in waiting mode

FilledStarCssClass - CSS class for star in filled mode

EmptyStarCssClass - CSS class for a star in empty mode

RatingAlign - Alignment of the stars (Vertical or Horizontal)

RatingDirection - Orientation of the stars (LeftToRightTopToBottom or RightToLeftBottomToTop)

OnChanged - ClientCallBack event to fire when the rating is changed

Tag - A custom parameter to pass to the ClientCallBack


First we have to create to create table. Sample table design given below

Table design (UserRating):

Column Name

Data Type

Id (Auto Increment)





In we.config  file we have to set connection string

Sample code: 


        <add name="ConnectionString" connectionString="Data Source=localhost;                           

                                        Initial Catalog=Demo; Integrated Security=True"/>



Here we have to add AjaxControlToolkit assembly reference in our page

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>


Then we have to create our aspx page like this


Designer source code:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<!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 runat="server">

    <title>AJAX Rating control</title>

    <style type="text/css">



margin:0px auto;


font-family:"Trebuchet MS", Arial, Helvetica, sans-serif





background-image: url(images/blank_star.png);

width: 16px;

height: 16px;




background-image: url(images/half_star.png);

width: 16px;

height: 16px;




background-image: url(images/shining_star.png);

width: 16px;

height: 16px;





    <form id="form1" runat="server">  

    <asp:ScriptManager ID="ScriptManager1" runat="server">



    <asp:Rating ID="Rating1" runat="server" AutoPostBack="true" StarCssClass="blankstar"

        WaitingStarCssClass="waitingstar" FilledStarCssClass="shiningstar"

        EmptyStarCssClass="blankstar" OnChanged="Rating1_Changed">



<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>,

<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 






          Source code has been attached along with this article (No registration required). You can download and copy the required images for Rating Control.


C# code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Data;

using System.Data.SqlClient;

using System.Configuration;


public partial class _Default : System.Web.UI.Page


    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);

    protected void Page_Load(object sender, EventArgs e)


        Label1.Text = "0 Users have rated this Product";

        Label2.Text = "Average rating for this Product is 0";      

        if (!IsPostBack)





    protected void Rating1_Changed(object sender, AjaxControlToolkit.RatingEventArgs e)



        SqlCommand cmd = new SqlCommand("INSERT INTO UserRating(Rating) VALUES (@Rating)", con);

        cmd.Parameters.AddWithValue("@Rating", SqlDbType.Int).Value = Rating1.CurrentRating;





    public void BindRatings()


        int Total = 0;       


        SqlCommand cmd = new SqlCommand("SELECT Rating FROM UserRating", con);       

        SqlDataAdapter da = new SqlDataAdapter(cmd);

        DataTable dt = new DataTable();


        if (dt.Rows.Count > 0)


            for (int i = 0; i < dt.Rows.Count; i++)


                Total += Convert.ToInt32(dt.Rows[i][0].ToString());


            int Average = Total / (dt.Rows.Count);

            Rating1.CurrentRating = Average;

            Label1.Text = dt.Rows.Count + " " + "Users have rated this Product";

            Label2.Text = "Average rating for this Product is" + " " + Convert.ToString(Average);




cytotec abortion

an abortion pill buy abortion pills online
medical abortion pill online cytotec abortion abortion pill

View demo Download

If you enjoyed this article, get email updates (it's free).

Related Articles
  • Ajax Accordian control in ASP.NET In this article I’m going to explain how to use Ajax Accordian control in asp.net. The Accordian is a web control that allows you to provide multiple panes and display them at a time and only one panes expanded at a time. Accordian control has a templates for header and content. Also we can add server controls to the Accordian.
  • Ajax Calendar Extender in ASP.NET In this article I’m going to explain how to use Ajax Calendar Extender control in asp.net. Ajax Calendar Extender provides client side date picking functionality with customizable date and UI in a popup control. You can interact with calendar by clicking today date, past and future date. Also you can modify date format, popup display position and set custom styles to the calendar.
  • How to use Ajax ModalPopup Extender in ASP.NETIn this article I’m going to explain how to use Ajax Modalpopup Extender control in asp.net. The ModalPopup extender allows a page to display content to the user in a “modal” manner which prevents the user from interacting with rest of the page. We can add any web controls inside the modal content. When modal popup displayed only the modal content can be interacted with the user and rest of the pa...
  • How to use Ajax CalenderExtender in ASP.NET GridViewIn this article I’m going to explain how to use Ajax CalenderExtender in ASP.NET GridView. Today one of my blog subscriber asked me a question that’s how to use Ajax CalenderExtender in ASP.NET GridView. I hope you already know how to use Ajax CalenderExtender in normal page. There is no different to use Ajax CalenderExtender in normal page and GridView.
  • How to use Ajax ColorPickerExtender in ASP.NETIn this article I’m going to explain how to use Ajax ColorPickerExtender in ASP.NET. Ajax ColorPickerExtender provides client-side color-picking functionality with UI in a popup control. It can be attached to any ASP.NET TextBox control.
  • Google Geo Chart or Geo map with custom Color and Tooltip in ASP.NET I have already written an article for implementing Geo Chart in ASP.NET. In this article I’m going to explain how to use custom colors and tooltip in Google Geo Chart. In this demo I have implemented Geo chart for countries and percentage of world populations. For that first we have to create table with following fields.
  • Ajax Cascading DropDown example with database in ASP.NETCascadingDropDown is an ASP.NET AJAX extender that can be attached to an ASP.NET DropDownList control. It will automatically populate set of DropDownList controls without page postback. Each time the selection of one the DropDownList controls changes, the CascadingDropDown makes a call to a specified web service to retrieve the list of values for the next DropDownList in the set.
  • AJAX FileUpload or multiple FileUpload with progress example in ASP.NETThe AjaxFileUpload control is used to upload multiple files to the server folder. AjaxFileUpload uses one of two methods of showing file upload progress. If you are using a browser which fully supports the HTML5 File API (such as Google Chrome or Mozilla Firefox) then upload progress is displayed using client-side events. If, on the other hand, you are using a browser which does not fully support ...
  • UpdatePanel with Triggers in ASP.NETASP.NET AJAX provides the most visible feature that the ability to partial or incremental page updates with PostBack to the server. Before AJAX implementation is ASP.NET page update require a round trip to the server which requires a page refresh. UpdatePanel control remove the requirement to refresh the whole page with each postback which improves user experience. While working with UpdatePanel ...
  • Using jQuery ajax to call ASP.NET page method to execute store procedureCall ASP.NET page method to execute store procedure with multiple parameters using jQuery ajax. One of my blog reader asked me a question that how to execute store procedure directly using jQuery. Actually we can’t execute store procedure directly by jQuery. But we can call ASP.NET page method to execute store procedure.

comments powered by Disqus

Thanks for downloading..!!

Subscribe via Email
message to display in fancybox