/// <summary> /// Renders a partial MVC view to string. Use this method to render /// a partial view that doesn't merge with _Layout and doesn't fire /// _ViewStart. /// </summary> /// <param name="viewPath"> /// The path to the view to render. Either in same controller, shared by /// name or as fully qualified ~/ path including extension /// </param> /// <param name="model">The model to pass to the viewRenderer</param> /// <param name="controllerContext">Active controller context</param> /// <returns>String of the rendered view or null on error</returns> public static string RenderPartialView <T>(string viewPath, object model, ControllerContext controllerContext) where T : Controller, new() { ViewRenderer <T> renderer = new ViewRenderer <T>(controllerContext); return(renderer.RenderPartialView(viewPath, model)); }
/// <summary> /// Renders a partial MVC view to string. Use this method to render /// a partial view that doesn't merge with _Layout and doesn't fire /// _ViewStart. /// </summary> /// <param name="viewPath"> /// The path to the view to render. Either in same controller, shared by /// name or as fully qualified ~/ path including extension /// </param> /// <param name="model">The model to pass to the viewRenderer</param> /// <param name="controllerContext">Active controller context</param> /// <param name="errorMessage">optional output parameter to receive an error message on failure</param> /// <returns>String of the rendered view or null on error</returns> public static string RenderPartialView <T>(string viewPath, object model, ControllerContext controllerContext, out string errorMessage) where T : Controller, new() { errorMessage = null; try { ViewRenderer <T> renderer = new ViewRenderer <T>(controllerContext); return(renderer.RenderPartialView(viewPath, model)); } catch (Exception ex) { errorMessage = ex.GetBaseException().Message; } return(null); }