zoukankan      html  css  js  c++  java
  • Asp.Net MVC 把PartialView、View转换成字符串

    在开发中有时要在后台获得某个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();
                }
            }

     原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/01/14/2322567.htm

     
    作者 : 徐明祥
    出处:http://xumingxiang.cnblogs.com/
    版权:本文版权归作者和博客园共有
    转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
    要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
  • 相关阅读:
    值得收藏的146条经典民间偏方[转]
    删除暴风文件夹内的stormliv.exe
    【转】VLAN技术浅谈
    [转载]双击.dsw文件时另开VC6.0,而不会关掉原来已打开的项目的解决办法(转载)
    JVM系列1:Java内存区域
    并发系列3:Lock锁以及核心类AQS
    并发系列1:并发基础知识
    JVM系列2:垃圾收集器与内存分配策略
    JVM系列3:类加载机制
    源码解析之AQS源码解析
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/2322809.html
Copyright © 2011-2022 走看看