2011-11-23 29 views

回答

0

你可以用RazorGenerator.Mvc像這樣做這是作爲一個NuGet包。您可以在這裏閱讀更多關於它的信息:http://razorgenerator.codeplex.com/它用於單元測試,但我認爲這是您的需求。

var view = new myview(); 
HtmlDocument document = view.RenderAsHtml(); 

希望能幫助你做你想做的事。

+0

有一個在MVC – jgauffin

+0

真沒有'RenderAsHtml'方法,我忘了,你需要安裝RazorGenrator包。添加了關於該信息的信息 –

0

這個工作對我來說:

public static string ViewToString(string viewName, object model) 
{ 
    ViewData.Model = model; 
    using (var stringWriter = new StringWriter()) 
    { 
     var view = ViewEngines.Engines.FindPartialView(ControllerContext, viewName); 
     var viewContext = new ViewContext(ControllerContext, view.View, ViewData, TempData, stringWriter); 
     view.View.Render(viewContext, stringWriter); 
     view.ViewEngine.ReleaseView(ControllerContext, view.View); 
     return stringWriter.GetStringBuilder().ToString(); 
    } 
} 
+0

呈現屬於與其調用相同的控制器的視圖。這個問題顯示了一個指定任意控制器的例子。 – jgauffin

相關問題