我无法更新部分视图。如果我手动刷新页面,我确实会看到增加的计数。我尝试了类似的方法,但在 countDiv 内部没有部分视图,动作返回一个随机整数,并且 countDiv 更新得很好,所以它与部分视图有关:
主视图:
@using (Ajax.BeginForm("AddPositive", new RouteValueDictionary { { "id", Model.Id } },
new AjaxOptions() { UpdateTargetId = "countDiv"}))
{
<div>
<input type="submit" value="For" />
</div>
}
<div id="countDiv">
@Html.Partial("PollCounts")
</div>
PollsCounts 部分视图:
@model MyProj.Models.Poll
<div>Positive: @Model.PositiveCount</div>
<div>Negative: @Model.NegativeCount</div>
行动:
public PartialViewResult AddPositive(int id)
{
Poll poll = db.Polls.Find(id);
db.Entry(poll).State = EntityState.Modified;
poll.PositiveCount++;
db.SaveChanges();
return PartialView("CountsPartial", poll);
}