zoukankan      html  css  js  c++  java
  • MVC获得某个View 或者 PartialView 生成的字符串

    在开发中有时要在后台获得某个View 或者 PartialView 生成的字符串,只要你熟悉Asp.Net MVC  生命周期就能理解和敲出下面的代码。没什么高深的,直接上代码:

    1,输出View HTML 字符串:
     

            /// <summary>
            /// 描述:输出View HTML 字符串
            /// </summary>
            /// <param name="controller"></param>
            /// <param name="viewName">视图文件名</param>
            /// <param name="masterName">母板页文件名</param>
            /// <returns></returns>
            protected static string RenderViewToString(Controller controller, string viewName, string masterName)
            {
                IView view = ViewEngines.Engines.FindView(controller.ControllerContext, viewName, masterName).View;
                using (StringWriter writer = new StringWriter())
                {
                    ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, writer);
                    viewContext.View.Render(viewContext, writer);
                    return writer.ToString();
                }
            }

    2,输出PartialView HTML 字符串:

            /// <summary>
            /// 描述:输出PartialView HTML 字符串
            /// </summary>
            /// <param name="controller"></param>
            /// <param name="partialViewName">部分视图文件名</param>
            /// <returns></returns>
            protected static string RenderPartialViewToString(Controller controller, string partialViewName)
            {
                IView view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, partialViewName).View;
                using (StringWriter writer = new StringWriter())
                {
                    ViewContext viewContext = new ViewContext(controller.ControllerContext, view, controller.ViewData, controller.TempData, writer);
                    viewContext.View.Render(viewContext, writer);
                    return writer.ToString();
                }
            }

  • 相关阅读:
    左侧列固定的表格
    百度地图上添加多个标记,标记上添加信息展示窗口、跳转到导航界面
    vue-cli4版本解决eslint问题
    使用脚手架搭建项目
    正则表达式学习
    函数参数:
    装饰器(重点)
    列表生成式、生成器、迭代器
    logging 日志模块
    json 、 pickle 、shelve序列化
  • 原文地址:https://www.cnblogs.com/bober/p/2334266.html
Copyright © 2011-2022 走看看