J'ai créé une classe basecontroller basée sur un article de blog que j'ai trouvé renvoyer une vue partielle suite à une action de type ContentResult dans mon contrôleur. Le code qui est ici:Besoin de retourner une vue partielle partagée dans contentresult
protected string RenderPartialViewToString(string viewName, object model)
{
if (string.IsNullOrEmpty(viewName))
viewName = ControllerContext.RouteData.GetRequiredString("action");
ViewData.Model = model;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
ViewContext viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
return sw.GetStringBuilder().ToString();
}
}
J'utilise ce qui suit pour revenir que:
return Content(RenderPartialViewToString("LocationStaffSearch", lcps));
Alors maintenant je dois retourner une partie qui est une vue partagée. Je n'arrive pas à comprendre comment passer le nom afin qu'il trouve le partiel. Si je tape juste le nom, il rend une chaîne vide. Si je mets dans Share/LocationStaffSearch il retourne une erreur disant que la vue est nulle.