获取asp.net mvc view渲染后的页面字符串
来源:互联网 发布:鹰眼 数据 编辑:程序博客网 时间:2024/05/17 22:41
查看源码可以替换Response.Output来获取asp.net mvc view渲染后的页面字符串,如下:
using System;using System.Globalization;using System.IO;using System.Web;using System.Web.Mvc;namespace xxxx{public static class WebMvcHelper{public static string Render(this Controller controller, string viewName, object model = null, bool partial = false){return Render(controller.ControllerContext, viewName, model, partial);}public static string Render(this Controller controller, ViewResultBase viewResult){return Render(controller.ControllerContext, viewResult);}public static string Render(this ControllerContext context, string viewName, object model = null, bool partial = false){if (context == null) throw new ArgumentNullException("context");var controller = context.Controller;if (model != null) controller.ViewData.Model = model;ViewResultBase viewResult;if (partial) viewResult = new PartialViewResult();else viewResult = new ViewResult { MasterName = null };viewResult.ViewData = controller.ViewData;viewResult.TempData = controller.TempData;viewResult.ViewName = viewName;return Render(context, viewResult);}public static string Render(this ControllerContext context, ViewResultBase viewResult){if (context == null) throw new ArgumentNullException("context");if (string.IsNullOrEmpty(viewResult.ViewName)) viewResult.ViewName = context.RouteData.GetRequiredString("action");ViewEngineResult viewEngineResult = null;if (viewResult.View == null){viewEngineResult = (viewResult is PartialViewResult) ? ViewEngines.Engines.FindPartialView(context, viewResult.ViewName) : ViewEngines.Engines.FindView(context, viewResult.ViewName, (viewResult as ViewResult).MasterName);viewResult.View = viewEngineResult.View;}try{var output = new StringWriter(CultureInfo.InvariantCulture);var viewContext = new ViewContext(context, viewResult.View, viewResult.ViewData, viewResult.TempData, output);viewResult.View.Render(viewContext, output);return output.ToString();}finally{if (viewEngineResult != null) viewEngineResult.ViewEngine.ReleaseView(context, viewResult.View);}}}}
- 获取asp.net mvc view渲染后的页面字符串
- ASP.Net MVC View中获取当前页面参数
- Asp.Net MVC 在后台获取PartialView、View文件生成的字符串
- Asp.Net MVC 在后台获取PartialView、View文件生成的字符串
- asp.net mvc 服务端压缩动态渲染页面利器
- Ajax 请求 asp.net mvc 的View
- Spring MVC 页面渲染( render view )
- Spring MVC 页面渲染( render view )
- asp.net MVC前台View页面向后台Controller控制器传递数据的几种方式
- Asp.Net MVC 把PartialView、View转换成字符串
- asp.net mvc 在View中获取Url参数的值
- asp.net mvc 在View中获取Url参数的值
- Spring MVC 中 直接响应渲染的页面 mvc:view-controller
- ASP.NET MVC - View Engines
- Asp.Net MVC 之 View
- ASP.NET MVC中的View
- asp.net mvc - View/ViewEngine
- ASP.NET MVC中的View
- 其实某种形式的CLI比GUI的界面复杂度更低
- 实习第一天
- hibernate 自增变量的操作
- 在macbook air中通过usb安装windows7操作系统
- ※C++随笔※=>☆C++基础☆=>※№推荐几本经典C++书籍 (不断更新中……)
- 获取asp.net mvc view渲染后的页面字符串
- 程序员如何判断自己能不能做管理
- 我对linux理解之tty五
- 我对linux理解之i2c一
- Dialect class not found: org.hibernate.dialect.MySQLDialect
- [RTT例程练习] 2.3 信号量-检测按键(同步) -(信号量互斥)
- 我对linux理解之i2c 二
- 判断ip地址是否合法
- WAR(Web Archive file)