1.帮助类

    /// <summary>
    /// 后台获取视图对应的字符串
    /// </summary>
    public class ViewHelper
    {

        /// <summary>
        /// 将View输出为字符串
        /// (注:不会执行对应的action方法)
        /// </summary>
        /// <param name="controller">Controller实例</param>
        /// <param name="viewName">如果view文件在当前Controller目录下,则直接输入文件名(例如:Toolbar)
        /// 否则,从根路径开始指定(例如:~/Views/User/Toolbar.cshtml)
        /// </param>
        /// <param name="masterName">模板页文件名(注:显示指定可修改Layout)</param>
        /// <returns></returns>
        public static string RenderViewToString(Controller controller, string viewName, string masterName)
        {
            IView view = ViewEngines.Engines.FindView(controller.ControllerContext, viewName, masterName).View;

            using (StringWriter sw = new StringWriter())
            {
                ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, sw);
                viewContext.View.Render(viewContext, sw);
                return sw.ToString();
            }
        }
        /// <summary>
        /// 将PartialView输出字符串
        /// </summary>
        /// <param name="controller">controller实例</param>
        /// <param name="viewName">如果PartialView文件在当前Controller目录下,则直接输入文件名(例如:Toolbar);
        /// 否则,从根路径开始指定(例如:~/View/User/Toolbar.cshtml)
        /// </param>
        /// <param name="model">构造页面所需要的实体参数</param>
        /// <returns>字符串</returns>
        public static string ReaderPartialViewToString(Controller controller, string viewName, object model)
        {
            IView view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName).View;
            controller.ViewData.Model = model;
            using (StringWriter sw = new StringWriter())
            {
                ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, sw);

                viewContext.View.Render(viewContext, sw);

                return sw.ToString();
            }
        }
    }
View Code

相关文章:

  • 2021-09-20
  • 2021-07-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-14
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案