Output di una vista in una variabile stringa

Da Webmobili Wiki.
Versione del 31 gen 2017 alle 12:18 di 89.96.52.243 (discussione) (Creata pagina con "Funzione interessante che non utilizziamo ma potrebbe essere utile. <syntaxhighlight lang="c#"> /// <summary> /// Restituisce il contenuto della vista chiamata come una string...")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

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();
  }
}