[英]Render HTML to a String from MVC Controller
我读了这篇非常有帮助的文章: 如何在MVC3中将html渲染为字符串而不是屏幕。
我创建了一个在控制器中执行此操作的函数。 现在,我希望能够从另一个项目的类中调用此方法,以便可以将此功能作为服务提供。 代码如下:
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
我想直接调用该类,而不是通过IIS。 但是,那么ControllerContext为null。 我可以通过某种方式指定“光盘视图”吗?
MVC中的大多数控件都有一个名为"ToHtmlString();"
的属性"ToHtmlString();"
http://msdn.microsoft.com/zh-cn/library/system.web.mvc.viewengineresult(v=vs.108 )
您可以通过提供位置列表来创建ViewEngineResult,而不用调用FindPartialView
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.