Ejemplo n.º 1
0
        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);
        }