ActionLinkをクリックするたびに部分ビューを更新したいと思います。私はメインビューとして同じモデルを部分ビューに渡しています。問題は、部分ビューが更新されていないことです。私が正しい道にいるかどうかはわかりません。MVC Ajaxの更新部分ビュー
ビュー:
@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>
が参照 'MicrosoftAjax.js'と' MicrosoftMvcAjax.js'ていますか?そしてjQueryも? –
@david、そうです。 – mishap
基本的なデバッグを行いましたか?jsエラーがあるかどうかを確認します。リクエストが行われている場合、コントローラのアクションがリクエストを受け取った場合、返されたデータが実際に更新されているかどうかを確認します。 –