public DataControlReferenceCollection(DynamicDataManager owner)
        {
            if (owner == null)
            {
                throw new ArgumentNullException("owner");
            }

            Owner = owner;
        }
示例#2
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_TableHeaderCell_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (TableHeaderCell)) as Control;
			ddm.RegisterControl (control);
		}
示例#3
0
		public void VisibleSet()
		{
			var ddm = new DynamicDataManager();

			ddm.Visible = false;
		}
示例#4
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_SiteMapDataSource_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (SiteMapDataSource)) as Control;
			ddm.RegisterControl (control);
		}
示例#5
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_RequiredFieldValidator_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (RequiredFieldValidator)) as Control;
			ddm.RegisterControl (control);
		}
示例#6
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_PasswordRecovery_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (PasswordRecovery)) as Control;
			ddm.RegisterControl (control);
		}
示例#7
0
		public void DefaultValues()
		{
			var ddm = new DynamicDataManager();

			Assert.AreEqual(true, ddm.Visible, "#A1");
			Assert.AreEqual(false, ddm.AutoLoadForeignKeys, "#A2");
		}
示例#8
0
		public void DynamicManagerRegisterControl_System_Web_UI_DesignerDataBoundLiteralControl_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (DesignerDataBoundLiteralControl)) as Control;
			ddm.RegisterControl (control);
		}
示例#9
0
		public void DynamicManagerRegisterControl_System_Web_UI_HtmlControls_HtmlTitle_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (HtmlTitle)) as Control;
			ddm.RegisterControl (control);
		}
示例#10
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_RadioButtonList_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (RadioButtonList)) as Control;
			ddm.RegisterControl (control);
		}
示例#11
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_Repeater_Test2()
		{
			var ddm = new DynamicDataManager();
			var control = Activator.CreateInstance(typeof(Repeater)) as Control;
			var page = new Page();
			page.Controls.Add(control);
			ddm.RegisterControl(control);
		}
示例#12
0
		public void RegisterControl_ControlIsDataBoundControl2()
		{
			var ddm = new DynamicDataManager();
			var control = new MyDataBoundControl();
			ddm.RegisterControl(control, false);
			ddm.RegisterControl(control, true);
		}
示例#13
0
		public void RegisterControl_ControlIsNotDataBoundControl()
		{
			var ddm = new DynamicDataManager();
			var control = new MyBaseDataBoundControl ();
			ddm.RegisterControl(control);
		}
示例#14
0
		public void RegisterControl_NullControl2()
		{
			var ddm = new DynamicDataManager();
			ddm.RegisterControl(null, false);
		}
示例#15
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_ValidationSummary_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (ValidationSummary)) as Control;
			ddm.RegisterControl (control);
		}
示例#16
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_ContentPlaceHolder_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (ContentPlaceHolder)) as Control;
			ddm.RegisterControl (control);
		}
示例#17
0
		public void DynamicManagerRegisterControl_System_Web_UI_WebControls_WizardStep_Test ()
		{
			var ddm = new DynamicDataManager ();
			var control = Activator.CreateInstance (typeof (WizardStep)) as Control;
			ddm.RegisterControl (control);
		}
        /// <summary>
        /// See IWhereParametersProvider.GetWhereParameters
        /// </summary>
        public virtual IEnumerable <Parameter> GetWhereParameters(IDynamicDataSource dataSource)
        {
            Debug.Assert(dataSource != null);

            // Find the control that the ControlParameter uses
            Control control = Misc.FindControl((Control)dataSource, ControlId);

            if (control == null)
            {
                throw new InvalidOperationException(String.Format(
                                                        CultureInfo.CurrentCulture, DynamicDataResources.DynamicControlParameter_DynamicDataSourceControlNotFound, ControlId));
            }

            // If the control is itself a parameter provider, delegate to it
            var whereParametersProvider = control as IWhereParametersProvider;

            if (whereParametersProvider != null)
            {
                return(whereParametersProvider.GetWhereParameters(dataSource));
            }

            IControlParameterTarget paramTarget = DynamicDataManager.GetControlParameterTarget(control);

            if (paramTarget == null)
            {
                throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture,
                                                                  DynamicDataResources.DynamicControlParameter_DynamicDataSourceControlCannotBeUsedAsParent, ControlId));
            }

            string     columnName = Name;
            MetaColumn column     = null;
            MetaTable  table      = MetaTableHelper.GetTableWithFullFallback(dataSource, HttpContext.Current.ToWrapper());

            if (!String.IsNullOrEmpty(columnName))
            {
                column = table.GetColumn(columnName);
            }
            else
            {
                // There was no Name attribute telling us what field to filter, but maybe
                // the control given us data has that info
                column = paramTarget.FilteredColumn;
            }

            if (column == null)
            {
                // If there is no specific column, we're setting the primary key

                if (paramTarget.Table != table)
                {
                    throw new Exception(String.Format(CultureInfo.CurrentCulture,
                                                      DynamicDataResources.DynamicControlParameter_InvalidPK,
                                                      ControlId, paramTarget.Table, table.Name));
                }

                return(GetPrimaryKeyControlWhereParameters(control, paramTarget));
            }
            else if (column is MetaForeignKeyColumn)
            {
                return(GetForeignKeyControlWhereParameters(control, paramTarget, (MetaForeignKeyColumn)column));
            }
            return(GetPropertyControlWhereParameters(control, paramTarget, column));
        }