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); }
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); }
/// <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)); } }
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); }