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