Take a look at this solution:
Display view as string
I used it to create a partial view, and it worked. You will have to switch to partial, but this should not be a problem.
Edit:
, . . HttpContext.Current, :
public static string RenderViewToString(this Controller controller,
string viewName, object viewData)
{
var response = HttpContext.Current.Response;
response.Flush();
var view = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName).View;
var viewContext = new ViewContext(controller.ControllerContext, view,
controller.ViewData, controller.TempData);
var oldFilter = response.Filter;
Stream filter = new MemoryStream(); ;
try
{
response.Filter = filter;
viewContext.View.Render(viewContext, null);
response.Flush();
filter.Position = 0;
var reader = new StreamReader(filter, response.ContentEncoding);
return reader.ReadToEnd();
}
finally
{
filter.Dispose();
response.Filter = oldFilter;
}
}
, View ( ViewEngines.Engines.FindPartialView ViewEngines.Engines.FindView). .