0
다음 코드가 있습니다. Ajax를 통해 서브 쿼리를 호출하면 호출이 컨트롤러로 이동하는 것을 볼 수 있으며 올바른 결과를 반환합니다. 그러나 성공 했음에도 불구하고 부분은 업데이트되지 않습니다. 그것의 거의 확실한 무언가 나는 나가하고있다, 그러나 나는 지금부터 시작하고있다 그래서 Im는 원형에서 둘레에가는 저것.MVC5 Ajax가 반환 된 부분은 렌더링되지 않았습니다.
내가 부분적으로 모델 세트로 표시하고 싶다면 JSON 데이터를 다르게 처리해야한다는 의문이있다. 그러나 MVC와 아약스로 여전히 발을 찾고 있기 때문에 현재 많은 시행 착오가 있습니다.
@{
System.Web.Mvc.Ajax.AjaxOptions ajaxopts = new AjaxOptions()
{
HttpMethod = "Post",
UpdateTargetId = "dlrsTable",
OnBegin = "OnBegin",
OnComplete = "OnComplete",
OnSuccess = "OnSuccess",
OnFailure = "OnFailure"
};
}
@using (Ajax.BeginForm("RefreshGrid", "Dealership", ajaxopts, new { id = "allDlrs" }))
{
@Html.Hidden("showArchived", false)
@Html.Hidden("ShowPage", 0)
@Html.AntiForgeryToken()
<div id="dlrTable">
@{Html.RenderPartial("_allDealerships", Model);}
</div>
}
및 컨트롤러;
public async Task<JsonResult> RefreshGrid(bool? showArchived, int? ShowPage)
{
try
{
//code elided, I can see it works and mappedDlrs contains the new data I want
return new JsonResult(){ Data = mappedDlrs };
}
catch (Exception ex)
{
_log.Error(ex, string.Format("Error in DealershipController.AllDealerships - Session {0}", Session.SessionID));
return new JsonResult() { Data = "Error curred" };
}
}
그게 가치 사업부 아이디 (또는 UpdateTargetId에 추가 한)에서 의이 없습니다. 죄송합니다! – Matt
@Matt - 우리 모두에게 일어납니다! 그것이 우리가 여기있는 이유입니다 :) – Tommy