[英]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.