czwartek, 1 marca 2012

jQuery Star Rating Plugin


jQuery Star Rating Plugin w ASP.NET MVC

Dzisiejsze zadanie to dodanie pluginu do oceniania :) 


W internecie można znaleźć wiele gotowych bibliotek w jquery umożliwiających ocenę. Ja skorzystałam z jQuery Star Rating Plugin v3.14 dostępnego tutaj

Plik z widokiem:

<script type="text/javascript" src="<%= Url.Content("~/Scripts/star-rating/jquery.rating.js") %>"></script>
<script type="text/javascript" src="<%= Url.Content("~/Scripts/star-rating/jquery.MetaData.js") %>"></script>
<link rel="stylesheet" type="text/css" href="<%= Url.Content("~/Scripts/star-rating/jquery.rating.css") %>" />


<span class="rating">
      <span style="float: left;">Ocena: </span>
      <span style="">
        <input name="star1" type="radio" class="auto-submit-star" value="1" />
        <input name="star1" type="radio" class="auto-submit-star" value="2"/>
        <input name="star1" type="radio" class="auto-submit-star" value="3"/>
        <input name="star1" type="radio" class="auto-submit-star" value="4"/>
        <input name="star1" type="radio" class="auto-submit-star" value="5"/>
      </span>
   </span>

<script type="text/javascript">

        $(function () {

            $('.auto-submit-star').rating({
                callback: function (value, link) {
                    var data = { idZdjecia: id, ocena: value };
                    $.post('/Zdjecie/Ocen', data, function (result) {
                          alert(result);
                    }, "json");
                }
            });

        });
    </script>




W kontrolerze dodałam odpowiednią akcję do zapisania oceny w bazie danych:

public ActionResult Ocen(int idZdjecia, int ocena)
        {
            string wynik = string.Empty;

            if (Request.IsAuthenticated)
            {
                    /*
                         tutaj funkcje zapisywanie oceny w bazie danych
                   */
                     return Json( "Dziękujemy za ocenę zdjęcia. ");
            }
            else
            {
                return Json("Musisz się zalogować");
            }
        }



W Global.asax dodałam nową trasę:

routes.MapRoute("OcenTemat", "Zdjecia/Ocen", new { controller = "Zdjecia", action = "Ocen" });













Brak komentarzy:

Prześlij komentarz