我正在使用MVC4,我想将我的视图渲染为字符串. 现有的答案对我没有帮助(可能是因为MVC版本的差异). 这个解决方案帮助我“救了我的一天”. https://coderwall.com/p/8ie5jg using System.IO;using Sys
现有的答案对我没有帮助(可能是因为MVC版本的差异). 这个解决方案帮助我“救了我的一天”.
https://coderwall.com/p/8ie5jg
using System.IO; using System.Web.Mvc; public class RenderRazorViewToString { #region Render public string Render( Controller controller, string viewName, object model ) { controller.ViewData.Model = model; using ( var sw = new StringWriter() ) { var viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName); var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw); viewResult.View.Render(viewContext, sw); viewResult.ViewEngine.ReleaseView(controller.ControllerContext, viewResult.View); return sw.GetStringBuilder().ToString(); } } #endregion }
免责声明:我不是作者,我只是想分享它来帮助像我这样的其他人.