2011-02-08 35 views
0

我正在使用ASP.NET MVC 2與Spark視圖引擎。我有一個視圖,當ASP.NET本身呈現它時正確渲染,但是當我執行ajax調用來重新渲染部分視圖到字符串,以便我可以用jQuery替換html時,它呈現局部視圖,其子視圖,但不是孫子女的看法。渲染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

上面的代碼實際上工作。該錯誤是在使用輸出的JavaScript代碼中的其他地方。

所以,如果你需要渲染一個字符串的視圖,上面的代碼應該工作。

+0

感謝你讓我們知道馬克,我擔心自從我認爲它應該起作用,並且在我的環境中工作,所以我想看看你是怎麼稱呼這些意見的。乾杯, – RobertTheGrey