Teşekkürler ajax ile beğenmeyi yapabildim lakin bir sıkıntı daha var. Sayfayı yenilemediğim sürece like sayıfı gözükmüyor
.
$("#like").click(function () {
var id = "@Model.Tweet.Id"
$.ajax({
type: "POST",
dataType: "Json",
url: '/Member/Like/AddLike/' + id,
succes: function (data) {
$("showlikes").text(data.likes);
}
});
});
Bu Controller'ımın içi:
public async Task<JsonResult> AddLike(Guid id)
{
TweetVM model = new TweetVM();
AppUser user = await userManager.FindByNameAsync(User.Identity.Name);
string appUserID = user.Id;
if (!(uow.Like.Any(x => x.UserId == appUserID && x.TweetId == id)))
{
Like like = new Like();
like.TweetId = id;
like.UserId = appUserID;
uow.Like.Add(like);
uow.SaveChange();
var likes = uow.Like.FindByList(x => x.TweetId == id);
model.Likes = mapper.Map<List<LikeDTO>>(likes);
return Json(model, new Newtonsoft.Json.JsonSerializerSettings());
}
else
{
Like like = uow.Like.Find(x => x.TweetId == id && x.UserId == user.Id);
uow.Like.Delete(like);
uow.SaveChange();
var likes = uow.Like.FindByList(x => x.TweetId == id);
model.Likes = mapper.Map<List<LikeDTO>>(likes);
return Json(model, new Newtonsoft.Json.JsonSerializerSettings());
}
}
Bu da Ajax kodu:
$(document).ready(function (){
$("#like").click(function () {
var id = "@Model.Tweet.Id"
$.ajax({
type: "POST",
dataType: "Json",
url: '/Member/Like/AddLike/' + id,
succes: function (data) {
$("#showlikes").text(data.Likes);