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