public UserControl LoadControl(string UserControlPath,  Profiles.Framework.Template masterpage, params object[] constructorParameters)
        {
            List<Type> constParamTypes = new List<Type>();
            //UserControl ctl = masterpage.LoadControl(UserControlPath) as UserControl;
            UserControl ctl = masterpage.LoadControl(UserControlPath) as UserControl;

            foreach (object constParam in constructorParameters)
            {
                constParamTypes.Add(constParam.GetType());
            }

            // Find the relevant constructor
            ConstructorInfo constructor = ctl.GetType().BaseType.GetConstructor(constParamTypes.ToArray());

            //And then call the standard constructor
            if (constructor == null)
                throw new MemberAccessException("The requested constructor was not found on : " + ctl.GetType().BaseType.ToString());
            else
            {
                constructor.Invoke(ctl, constructorParameters);
            }

            return ctl;
        }