반응형
MVC 반환 부분보기를 JSON으로
MVC에서 JSON 응답의 일부로 배포 방법에서 HTML 호스트를 사용합니까?
public ActionResult ReturnSpecialJsonIfInvalid(AwesomenessModel model)
{
if (ModelState.IsValid)
{
if(Request.IsAjaxRequest()
return PartialView("NotEvil", model);
return View(model)
}
if(Request.IsAjaxRequest())
{
return Json(new { error=true, message = PartialView("Evil",model)});
}
return View(model);
}
이 간단한에 대한 답변과 유사하게 PartialViewResult에서 html 인터페이스를 추출 할 수 있습니다.
PartialViewResult 및 ViewResult는 모두 ViewResultBase에서 파생되는 메소드가 둘 다에서 작동해야합니다.
위의 코드를 사용하면 다음을 사용할 수 있습니다.
public ActionResult ReturnSpecialJsonIfInvalid(AwesomenessModel model)
{
if (ModelState.IsValid)
{
if(Request.IsAjaxRequest())
return PartialView("NotEvil", model);
return View(model)
}
if(Request.IsAjaxRequest())
{
return Json(new { error = true, message = RenderViewToString(PartialView("Evil", model))});
}
return View(model);
}
대신에 다음 RenderViewToString
과 같은 접근 방식을 선호합니다.
return Json(new { Url = Url.Action("Evil", model) });
그런 다음 자바 펼쳐보기에서 결과를 내고 다음과 같이 할 수 있습니다.
success: function(data) {
$.post(data.Url, function(partial) {
$('#IdOfDivToUpdate').html(partial);
});
}
Url.Action ( "악", 모델)
get 쿼리를 생성하지만 ajax 메소드는 post이고 오류 상태는 500 (내부 서버 오류)입니다. – Fereydoon Barikzehy 2 월 14 일 9:51
Json 객체에 "JsonRequestBehavior.AllowGet"을 추가하기 만하면됩니다.
참고 URL : https://stackoverflow.com/questions/4730777/mvc-return-partial-view-as-json
반응형
'ProgramingTip' 카테고리의 다른 글
jquery Enter 키를 활성화하고 이벤트를 탭으로 변경하는 방법 (0) | 2020.11.04 |
---|---|
Bash 완성의 맥락에서 $ {array [*]}와 $ {array [@]}에 대한 혼동 (0) | 2020.11.04 |
C # .NET을 사용하여 폴더에 "Everyone"권한 추가 (0) | 2020.11.04 |
Putty (ssh)를 사용하여 서버에 파일을 업로드하는 방법 (0) | 2020.11.04 |
서블릿 필터에 여러 URL 패턴 제공 (0) | 2020.11.04 |