MVC Ajax更新局部视图

时间:2011-12-28 18:25:58

标签: ajax asp.net-mvc-3

我想在每次单击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>

2 个答案:

答案 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。