簡體   English   中英

從MVC控制器將HTML渲染為字符串

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM