protected void Application_Start() { ViewEngines.Engines.Clear(); var engine = new CompiledRazorViewEngine(); CompiledRazorViewEngine.RegisterViewAssembly(typeof(CompiledRazorViewEngine).Assembly); CompiledRazorViewEngine.RegisterViewAssembly(typeof(CompiledViews.Mvc3Test.Views._ViewStart).Assembly); ViewEngines.Engines.Add(engine); AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); }
private Type GetViewStartType() { var vp = this.VirtualPath; while (vp.Contains("/Views/")) { vp = vp.Substring(0, vp.LastIndexOf("/")); var vs = CompiledRazorViewEngine.GetPageType(vp + "/_ViewStart.cshtml"); if (vs != null) { return(vs); } } return(null); }
private dynamic GetLayout() { if (string.IsNullOrEmpty(Layout)) { return(null); } var t = CompiledRazorViewEngine.GetPageType(Layout); if (t != null) { return(t.GetConstructor(new Type[] { }).Invoke(new object[] { })); } else { return(null); } }