Проблема, с которой вы столкнулись в настоящее время, заключается в том, что ваш код jQuery присваивается только одному id
из цикла Model.PostComments
- предположительно, последнему. У вас та же проблема при ссылке Model.PostComment.Id
.
Было бы более разумно применить общий класс к a
элементам, которые вы создаете в цикле, затем прочитать атрибут id
и отправить его в запросе, что-то вроде этого:
@foreach (var item in Model.PostComments)
{
<a id="@item.Id" class="btn btn-success btn-like" href="#"><span class="glyphicon glyphicon-thumbs-up"></span></a>
}
$(document).ready(function() {
$('a.btn-like').click(function(e) {
e.preventDefault();
$.ajax({
url: '@Url.Action("CommentUp", "Posts")',
data: { id: this.id }
});
});
});
Обратите внимание на использование Url.Action()
вместо жесткого кодирования URL в примере.