Ejemplo n.º 1
0
        private static bool TryGetUpdateSourceTriggerOptionsControl(IBindingContainer bindingContainer, out UpdateSourceTrigger updateSourceTrigger)
        {
            bool result = false;

            updateSourceTrigger = UpdateSourceTrigger.PostBack;

            BindingOptionsControl bindingOptionsControl = null;

            if (TryGetBindingOptionsControl(bindingContainer, out bindingOptionsControl))
            {
                updateSourceTrigger = bindingOptionsControl.UpdateSourceTrigger;
                result = true;
            }

            return(result);
        }
Ejemplo n.º 2
0
        private static bool TryGetBinderFromOptionsControl(IBindingContainer bindingContainer, out BinderBase binder)
        {
            bool result = false;

            binder = null;

            BindingOptionsControl bindingOptionsControl = null;

            if (TryGetBindingOptionsControl(bindingContainer, out bindingOptionsControl))
            {
                binder = CreateBinder(bindingContainer, bindingOptionsControl.StateMode);
                result = true;
            }

            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Bind using a global Resource binding
        /// </summary>
        /// <param name="control"></param>
        /// <param name="resourceID">The id of the binding which should be used</param>
        /// <returns></returns>
        public static object BindResource(this object control, string resourceID)
        {
            Control ctrl = control as Control;

            IControlService service = new WebformsControlService();
            IBindingTarget  target  = new WebformControl(ctrl.Page);

            WebformControl        webFormControl = service.FindControlRecursive(target, typeof(BindingOptionsControl)) as WebformControl;
            BindingOptionsControl bindingOptions = webFormControl.Control as BindingOptionsControl;

            if (bindingOptions == null)
            {
                throw new InvalidOperationException(NEED_BINDING_OPTIONS_CONTROL);
            }

            if (bindingOptions.Resources == null)
            {
                throw new InvalidOperationException(NEED_BINDING_OPTIONS_RESOURCES);
            }

            Options options = bindingOptions.Resources.Where(r => r.ID == resourceID).FirstOrDefault();

            if (options == null)
            {
                if (bindingOptions.Resources == null)
                {
                    throw new InvalidOperationException(NEED_BINDING_RESOURCE);
                }
            }

            if (options.Mode == BindingMode.Command)
            {
                BindCommand(control, options);
                return(null);
            }
            else
            {
                return(Bind(control, options));
            }
        }
Ejemplo n.º 4
0
        private static bool TryGetBindingOptionsControl(IBindingContainer bindingContainer, out BindingOptionsControl bindingOptionsControl)
        {
            bool result = false;

            bindingOptionsControl = null;

            Page page = bindingContainer as Page;

            if (page == null)
            {
                throw new InvalidOperationException("This method binding extension can only be used within the context of an asp.net page");
            }

            IBindingTarget  target                = new WebformControl(page);
            IControlService controlService        = GetControlService(bindingContainer);
            WebformControl  wrappedOptionsControl = controlService.FindControlRecursive(target, typeof(BindingOptionsControl)) as WebformControl;

            if (wrappedOptionsControl != null)
            {
                bindingOptionsControl = wrappedOptionsControl.Control as BindingOptionsControl;

                if (bindingOptionsControl != null)
                {
                    result = true;
                }
            }

            return(result);
        }