Guest User

Untitled

a guest
Mar 21st, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. public ActionResult Index() {
  2. return View("~/Views/Index.cshtml");
  3. }
  4.  
  5. class FakeController : ControllerBase
  6. {
  7. protected override void ExecuteCore() { }
  8. public static string RenderViewToString(string controllerName, string viewName, object viewData)
  9. {
  10. using (var writer = new StringWriter())
  11. {
  12. var routeData = new RouteData();
  13. routeData.Values.Add("controller", controllerName);
  14. var fakeControllerContext = new ControllerContext(new HttpContextWrapper(new HttpContext(new HttpRequest(null, "http://google.com", null), new HttpResponse(null))), routeData, new FakeController());
  15. var razorViewEngine = new RazorViewEngine();
  16. var razorViewResult = razorViewEngine.FindView(fakeControllerContext, viewName, "", false);
  17. var viewContext = new ViewContext(fakeControllerContext, razorViewResult.View, new ViewDataDictionary(viewData), new TempDataDictionary(), writer);
  18. razorViewResult.View.Render(viewContext, writer);
  19. return writer.ToString();
  20. }
  21. }
  22. }
  23.  
  24. FakeController.RenderViewToString("FakeName", "~/View/Index.csthml", MessageModel);
Add Comment
Please, Sign In to add comment