2011-02-08 2 views
0

Spark 뷰 엔진에서 ASP.NET MVC 2를 사용하고 있습니다. 나는 ASP.NET 자체를 렌더링 할 때 올바르게 렌더링하는 뷰를 가지고 있지만 html을 jQuery로 대체 할 수 있도록 부분 뷰를 문자열로 다시 렌더링하기 위해 ajax 호출을 수행하면 부분 뷰, 해당 자식을 렌더링한다. , 손주들의 의견은 아닙니다.ASP.NET MVC Spark 뷰를 문자열로 렌더링하고 손자 뷰를 실패합니다.

보기 계층 구조는 색인 -> 부모 부분보기 -> 하위 부분보기 -> 손자 부분보기입니다.

아래의 코드는 문자열로 상위 부분보기 렌더링하는 데 사용되는

: 그것은 렌더링 할 때

protected string RenderPartialViewToString(string viewName, object model) 
    { 
     ViewData.Model = model; 

     using (StringWriter sw = new StringWriter()) 
     { 
      ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName); 

      ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw); 
      viewResult.View.Render(viewContext, sw); 

      return sw.GetStringBuilder().ToString(); 
     } 
    } 

가, 학부모 부분보기 및 모든 하위 부분 뷰가 제대로 렌더링을하지만, 손자 부분보기의 없음 세우다. 부분 뷰가있는 모든 자식 및 손자를 문자열로 올바르게 렌더링하려면 어떻게해야합니까?

+0

귀하의 의견이 서로에게 전화하는 방법을 게시 할 수 있습니까? Html.RenderPartial을 사용하고 있습니까? 아니면 Spark Partials에서 빌드를 사용하고 있습니까? 그것은 차이를 만듭니다. – RobertTheGrey

답변

0

위 코드가 실제로 작동합니다. 오류는 출력을 사용하는 자바 스크립트 코드의 다른 곳에서 발생했습니다.

따라서보기를 문자열로 렌더링해야하는 경우 위 코드가 작동해야합니다.

+0

마크를 알려 주셔서 감사합니다. 나는 그것이 작동해야한다고 생각하고 내 환경에서 그렇기 때문에 걱정했습니다. 그래서 당신이 어떻게 그 견해를 호출했는지 알고 싶었습니다. 건배, – RobertTheGrey