private static IModuleControlFactory GetModuleControlFactory(string controlSrc) { string extension = Path.GetExtension(controlSrc.ToLower()); IModuleControlFactory controlFactory = null; Type factoryType; switch (extension) { case ".ascx": controlFactory = new WebFormsModuleControlFactory(); break; case ".html": case ".htm": controlFactory = new Html5ModuleControlFactory(); break; case ".cshtml": case ".vbhtml": factoryType = Reflection.CreateType("DotNetNuke.Web.Razor.RazorModuleControlFactory"); if (factoryType != null) { controlFactory = Reflection.CreateObject(factoryType) as IModuleControlFactory; } break; case ".mvc": factoryType = Reflection.CreateType("DotNetNuke.Web.Mvc.MvcModuleControlFactory"); if (factoryType != null) { controlFactory = Reflection.CreateObject(factoryType) as IModuleControlFactory; } break; default: controlFactory = new ReflectedModuleControlFactory(); break; } return(controlFactory); }