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();
                }
            }

  • 相关阅读:
    C#使用cookie记住密码 逆水行舟
    Datable快速转换为List集合 逆水行舟
    C# EF 使用 (CodeFirst模式) 逆水行舟
    第一道用结构体解决的问题
    特殊回文数字
    简单贪心题(看最多的电视节目)
    Where is the Marble? (寻找大理石上的数字)
    关于Application Designer的概述
    怎样学习Peoplesoft byl vhonglei
    group by的使用说明
  • 原文地址:https://www.cnblogs.com/bober/p/2334266.html
Copyright © 2011-2022 走看看