我想在每次单击ActionLink时更新局部视图。我将相同的模型作为主视图传递给局部视图。问题是部分视图没有得到更新。不确定我是否在正确的轨道上。
查看:
@model MyPoll.Models.Poll
@Ajax.ActionLink("For", "AddPositive", new RouteValueDictionary { {"id", Model.Id }},new AjaxOptions() { UpdateTargetId = "countsDiv" })
<div id="countsDiv">
@Html.Partial("Counts", Model)
</div>
部分:
@model MyPoll.Models.Poll
Positive count : @Model.PositiveCount
Negative count : @Model.NegativeCount
控制器操作:
public ActionResult AddPositive(int id)
{
Poll poll = db.Polls.Find(id);
poll.PositiveCount++;
db.SaveChanges();
return View(poll);
}
脚本也被引用:
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
答案 0 :(得分:6)
修正:
行动中:
public **PartialViewResult** AddPositive(int id)
{
Poll poll = db.Polls.Find(id);
poll.PositiveCount++;
db.SaveChanges();
return **PartialView**("Counts", poll);
}
答案 1 :(得分:0)
这可能是因为你最后加载jquery。其他js取决于jquery。