Jun 08
  • Partie cliente, page aspx

<asp:GridView runat="server"

ID="theGridView"

AutoGenerateColumns="false" >

<Columns>

<asp:TemplateField>

<ItemTemplate>

<table>

<tr>

<td colspan="2">

<%# Eval("texte") %>

</td>

</tr>

<tr>

<td>

<act:Rating

ID="RatingBlague"

runat="server"

MaxRating="6"

CssClass="ratingStar"

StarCssClass="ratingItem"

WaitingStarCssClass="Saved"

FilledStarCssClass="Filled"

EmptyStarCssClass="Empty"

BorderStyle="None"

CurrentRating='<%# Eval("Rang") %>'

Tag='<%# Eval("Id")  %>'

OnChanged="RatingBlague_Changed">

</act:Rating>

</td>

</tr>

</table>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

 

  • CSS

/*RATING*/

 

.ratingStar

{

       white-space: nowrap;

       margin: 1em;

       height: 14px;

       border-style:none;

       border-color:transparent;

}

 

.ratingStar .ratingItem

{

       font-size: 0pt;

       width: 25px;

       height: 25px;

       margin: 0px;

       padding: 0px;

       display: block;

       background-repeat: no-repeat;

       cursor: pointer;

}

 

.ratingStar .Filled

{

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

}

 

.ratingStar .Empty

{

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

}

 

.ratingStar .Saved

{

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

}

 

 

  • CodeBehind

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

{

int idElement = Convert.ToInt32(e.Tag);

int theRate = Convert.ToInt32(e.Value);

LaMéthodeAdéclencher(idElement, theRate);

}

 

La méthode à déclencher sera en générale une insertion dans une base de données.

Pour récupérer la note moyenne, il faudra faire une requete permettant de récupérer celle-ci.