Output di una vista in una variabile stringa
Da Webmobili Wiki.
Funzione interessante che non utilizziamo ma potrebbe essere utile.
/// <summary>
/// Restituisce il contenuto della vista chiamata come una stringa
/// </summary>
/// <param name="viewName">Percorso alal vista</param>
/// <param name="model">Modello</param>
/// <param name="controllerContext">Il contesto</param>
/// <returns></returns>
public static string renderRazorViewToString(string viewName, object model, ControllerContext controllerContext) {
ViewDataDictionary ViewData = new ViewDataDictionary(model);
using (var sw = new StringWriter()) {
var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
var viewContext = new ViewContext(controllerContext, viewResult.View, ViewData, new TempDataDictionary(), sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}