Я настраиваю веб-сайт для своего университетского проекта, и у меня возникла проблема с обновлением View с использованием Ajax.ActionLink.Я создал главную страницу, похожую на «9gag», где много картинок хранятся друг под другом, и все они одинаковые.Когда я пытаюсь объявить div, он будет хорошо работать на бэкенде, но всегда будет обновлять только первую копию элемента вместо той, которую я хочу.
View:
@foreach (var item in Model.gagList)
{
<div class="gag-object">
<span class="gag-title">@Html.DisplayFor(modelItem => item.Title)</span><br />
<img class="gag-picture" src="~/UserGagImages/@Html.DisplayFor(modelItem => item.Picture)" style="width:460px"> <br />
<a href=@Url.Action("IndexCategory", "Home", new { CategoryName = item.Category.CategoryName }) style="text-decoration: none;" class="action-text"> <span class="gag-span">@Html.DisplayFor(modelItem => item.Category.CategoryName)</span><br /></a>
<div class="gag-points" id="gag-points">
<span class="gag-title">@Html.DisplayFor(modelItem => item.Points)</span><br />
</div>
<div class="gag-vote">
<a style="color: deepskyblue; font-size: 20px;" class="fas fa-arrow-up" href="@Url.Action("Upvote","Home", new { id = item.GagId })"></a>
<a style="color: deepskyblue; font-size: 20px;" class="fas fa-arrow-down"></a>
@Ajax.ActionLink("Upvote",
"Upvote",
new { id = item.GagId },
new AjaxOptions
{
HttpMethod = "GET",
UpdateTargetId = "gag-points",
InsertionMode = InsertionMode.Replace
},
new { @class = "ajax-btn3", id = "myajaxLink", gagId = item.GagId })
</div>
</div>
<hr />
}
Контроллер:
public ActionResult Upvote(int id)
{
Gag gagUpvote = new Gag();
if (Request.IsAuthenticated)
{
using (IGagsEntities1 context = new IGagsEntities1())
{
gagUpvote = context.Gags.Where(a => a.GagId == id).FirstOrDefault();
gagUpvote.Points += 1;
context.SaveChanges();
}
}
return PartialView("Points", gagUpvote);
}
Частичное представление:
<span class="gag-title">@Html.DisplayFor(modelItem => modelItem.Points)</span><br />
И эта комбинация не обновляет нужный div, но всегда первая копия.Если у вас есть идеи, как установить его так, чтобы он получал желаемый div, я был бы благодарен за любые советы!