Итак, у меня есть 5-звездочная рейтинговая система, и каждая звезда вызывает эту функцию:
function Test(ideaId, rating){
//alert(ideaId + " : " + rating);
$.ajax({
url: '@Url.Action("RateIdea", "Ideas")',
dataType: "json",
type: "Get",
data: { "ideaId": ideaId, "ratingValue": rating, "challengeId": @Model.pkiChallengeId }
}).done(function (response) {
//alert('test');
$("#divDetailsPartial").html(response);
});
}
Вызывается ActionResult
:
public ActionResult RateIdea(int ideaId, int ratingValue, int challengeId)
{
string loggedInUserId = User.Identity.GetUserId();
int id = clsIdeas.SaveRating(ideaId, ratingValue, loggedInUserId);
ChallengeIdeasViewModel CIVM = new ChallengeIdeasViewModel();
IEnumerable<Ideas> ideasList;
CIVM.ideasList = clsIdeas.GetChallengeIdeas(challengeId, loggedInUserId);
CIVM.ChallengeStatus = clsIdeas.GetChallengeStatus(challengeId);
return PartialView("Details", CIVM);
//return Json(new { status = "success" }, JsonRequestBehavior.AllowGet);
}
В моем View
:
<div class="widget-body no-padding">
<div id="divDetailsPartial">
@Html.Action("Details", "Ideas", new { id = Model.pkiChallengeId })
</div>
</div>
Для пояснения, действие вызывается при загрузке страницы и отображает частичное представление с таблицей данных.Моя система оценки работает (база данных обновлена), и я просто хочу обновить это же частичное представление без необходимости обновления всей страницы.
Если я возвращаю результат JSON и просто отображаю предупреждение, это работает, ноне когда я хочу заменить div с частичным представлением.
Чего мне не хватает?