andrew4582

RenderPartialView

Aug 5th, 2010
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.31 KB | None | 0 0
  1.         /// <summary>
  2.         /// Renders a partial view
  3.         /// </summary>
  4.         StringBuilder RenderPartialView(string viewName,object model) {
  5.            
  6.             PartialViewResult partialResult = this.PartialView(viewName,model);
  7.            
  8.             ViewEngineResult engineResult = partialResult.ViewEngineCollection.FindPartialView(ControllerContext,viewName);
  9.            
  10.             if(engineResult == null)
  11.                 throw new ArgumentOutOfRangeException("FindPartialView() returned null - " + viewName);
  12.             if(engineResult.View == null)
  13.                 throw new ArgumentOutOfRangeException("FindPartialView.View is null - " + viewName);
  14.  
  15.             IView view = engineResult.View;
  16.            
  17.             using(StringWriter writer = new StringWriter()) {
  18.                 using(HtmlTextWriter htmlWriter = new HtmlTextWriter(writer)) {
  19.                    
  20.                     ViewContext vcontext = new ViewContext(
  21.                         this.ControllerContext,
  22.                         view,
  23.                         this.ViewData,this.TempData,htmlWriter);
  24.                    
  25.                     view.Render(vcontext,htmlWriter);
  26.                     htmlWriter.Flush();
  27.                     return writer.GetStringBuilder();
  28.                 }
  29.             }
  30.         }
Add Comment
Please, Sign In to add comment