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://www.cnblogs.com/xumingxiang 
版權:本文版權歸作者和博客園共有
轉載:歡迎轉載,為了保存作者的創作熱情,請按要求【轉載】,謝謝
要求:未經作者同意,必須保留此段聲明;必須在文章中給出原文連接;否則必究法律責任

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM