public void Render(ViewContext viewContext, TextWriter writer) { WebViewPage webViewPage = _viewPageActivator.Create(viewContext.Controller.ControllerContext, _type) as WebViewPage; if (webViewPage == null) { throw new InvalidOperationException("Invalid view type"); } if (!String.IsNullOrEmpty(_masterPath)) { _overriddenLayoutSetter.Value(webViewPage, _masterPath); } webViewPage.VirtualPath = _virtualPath; webViewPage.ViewContext = viewContext; webViewPage.ViewData = viewContext.ViewData; webViewPage.InitHelpers(); WebPageRenderingBase startPage = null; if (this.RunViewStartPages) { startPage = StartPage.GetStartPage(webViewPage, "_ViewStart", ViewStartFileExtensions); } var pageContext = new WebPageContext(viewContext.HttpContext, webViewPage, null); webViewPage.ExecutePageHierarchy(pageContext, writer, startPage); }
public void Render(ViewContext viewContext, TextWriter writer) { object instance = Activator.CreateInstance(_type); WebViewPage webViewPage = instance as WebViewPage; if (webViewPage == null) { throw new InvalidOperationException("Invalid view type"); } webViewPage.VirtualPath = _virtualPath; webViewPage.ViewContext = viewContext; webViewPage.ViewData = viewContext.ViewData; webViewPage.InitHelpers(); WebPageRenderingBase startPage = null; if (this.RunViewStartPages) { startPage = StartPage.GetStartPage(webViewPage, "_ViewStart", ViewStartFileExtensions); } var pageContext = new WebPageContext(viewContext.HttpContext, webViewPage, null); webViewPage.ExecutePageHierarchy(pageContext, writer, startPage); }
internal static void CopyParentState(WebViewPage currentPage, WebPageBase parentPage) { WebViewPage viewPage = parentPage as WebViewPage; if (viewPage != null) { currentPage.ViewContext = viewPage.ViewContext; currentPage.ViewData = viewPage.ViewData; } else { MvcPage page = parentPage as MvcPage; if (page != null) { currentPage.ViewContext = page.ViewContext; currentPage.ViewData = page.ViewData; } else { throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, "WrongViewBase", new object[] { parentPage.VirtualPath })); } } currentPage.InitHelpers(); }
private static void Initialize(this WebViewPage view, HttpContextBase httpContext, TextWriter writer) { //EnsureViewEngineRegistered(); HttpContextBase context = httpContext ?? new DummyHttpContext(); RouteData routeData = new RouteData(); ControllerContext controllerContext = new ControllerContext(context, routeData, new DummyController()); view.ViewContext = new ViewContext(controllerContext, new DummyView(), view.ViewData, new TempDataDictionary(), writer); view.InitHelpers(); }
private static void Initialize <TModel>(this WebViewPage <TModel> view, HttpContextBase httpContext, TextWriter writer) { EnsureDummyViewEngineRegistered(); var context = httpContext ?? new HttpContextBuilder().Build(); var routeData = new RouteData(); var controllerContext = new ControllerContext(context, routeData, new Mock <ControllerBase>().Object); view.ViewContext = new ViewContext(controllerContext, new Mock <IView>().Object, view.ViewData, new TempDataDictionary(), writer); view.InitHelpers(); }
private static void Initialize <TModel>(this WebViewPage <TModel> view, HttpContextBase httpContext) { EnsureStaticMembersInitialised(); var context = httpContext ?? CreateMockContext(); var routeData = new RouteData(); var controllerContext = new ControllerContext(context, routeData, new Mock <ControllerBase>().Object); view.ViewContext = new ViewContext(controllerContext, new Mock <IView>().Object, view.ViewData, new TempDataDictionary(), new StringWriter()); view.InitHelpers(); }
public void Render(ViewContext viewContext, TextWriter writer) { Type viewType = BuildManager.GetCompiledType(this.ViewPath); object instance = Activator.CreateInstance(viewType); WebViewPage page = (WebViewPage)instance as WebViewPage; page.VirtualPath = this.ViewPath; page.ViewContext = viewContext; page.ViewData = viewContext.ViewData; page.InitHelpers(); WebPageContext pageContext = new WebPageContext(viewContext.HttpContext, null, null); WebPageRenderingBase startPage = StartPage.GetStartPage(page, StartPageFile, new string[] { "cshtml", "vbhtml" }); page.ExecutePageHierarchy(pageContext, writer, startPage); }
public override void ExecuteResult(ControllerContext context) { var view = new ScarfRazorView(viewPage, context); viewPage.ViewContext = new ViewContext( context, view, context.Controller.ViewData, new TempDataDictionary(), context.HttpContext.Response.Output); viewPage.ViewContext.RouteData = context.RouteData; viewPage.ViewData = context.Controller.ViewData; viewPage.ViewData.Model = model; viewPage.InitHelpers(); view.Render(viewPage.ViewContext, context.HttpContext.Response.Output); }
public void Render(ViewContext viewContext, System.IO.TextWriter writer) { if (string.IsNullOrEmpty(template)) { template = "default"; } string viewPath = "~/Views/" + template + "/" + viewContext.RouteData.GetRequiredString("controller") + "/" + viewContext.RouteData.GetRequiredString("action") + ".cshtml"; Type viewType = BuildManager.GetCompiledType(viewPath); WebViewPage page = Activator.CreateInstance(viewType) as WebViewPage; page.Layout = layout; page.VirtualPath = viewPath; page.ViewContext = viewContext; page.ViewData = viewContext.ViewData; page.InitHelpers(); WebPageContext pageContext = new WebPageContext(viewContext.HttpContext, null, null); WebPageRenderingBase startPage = StartPage.GetStartPage(page, "_ViewStart", new string[] { "cshtml", "vbhtml" }); page.ExecutePageHierarchy(pageContext, writer, startPage); }
public void Render(ViewContext viewContext, TextWriter writer) { if (writer == null) { throw new ArgumentNullException("writer"); } if (page == null) { throw new InvalidOperationException("Cannot create a page from " + viewPath); } //damn, now why is this internal, how can you ever reuse the webviewpage then?? //page.OverridenLayoutPath = this.LayoutPath; if (!String.IsNullOrEmpty(this.LayoutPath)) { page.Layout = LayoutPath; } page.VirtualPath = viewPath; page.ViewContext = viewContext; page.ViewData = viewContext.ViewData; page.InitHelpers(); WebPageRenderingBase startPage = null; if (this.RunViewStartPages) { startPage = this.StartPageLookup(page, VirtualPathFactoryManagerViewEngine.ViewStartFileName, this.ViewStartFileExtensions); } var httpContext = viewContext.HttpContext; WebPageRenderingBase base4 = null; object model = null; //instead of page.OverridenLayoutPath: if (!String.IsNullOrEmpty(this.LayoutPath)) { page.Layout = LayoutPath; } page.ExecutePageHierarchy(new WebPageContext(httpContext, base4, model), writer, startPage); }
protected void RenderView(ViewContext viewContext, TextWriter writer, object instance) { if (writer == null) { throw new ArgumentNullException("writer"); } WebViewPage page = instance as WebViewPage; if (page == null) { throw new InvalidOperationException(string.Format(CultureInfo.CurrentCulture, "Wrong view base - {0}", new object[] { ViewPath })); } // page.OverridenLayoutPath = "";// this.LayoutPath; page.VirtualPath = ViewPath; page.ViewContext = viewContext; page.ViewData = viewContext.ViewData; page.InitHelpers(); HttpContextBase httpContext = viewContext.HttpContext; WebPageRenderingBase base4 = null; object model = null; ((ICompiledViewPage)page).ExecutePage(new WebPageContext(httpContext, base4, model), writer); }