【问题标题】:MVC4 - how to render a view a string?MVC4 - 如何呈现一个字符串?
【发布时间】:2013-06-24 10:58:42
【问题描述】:

我正在使用 MVC4,我想将我的视图呈现为一个字符串。 现有答案对我没有帮助(可能是因为 MVC 版本不同)。

【问题讨论】:

    标签: asp.net-mvc-4


    【解决方案1】:

    这个解决方案帮助了我并“拯救了我的一天”。

    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
    }
    

    免责声明:我不是作者,我只是想分享它以帮助像我这样的其他人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 2019-07-22
      • 2012-12-22
      • 2022-01-05
      • 1970-01-01
      • 2013-10-19
      • 2019-02-10
      相关资源
      最近更新 更多