System.Web.DynamicData.DynamicDataExtensions.FindDataSourceControl C# (CSharp) Method

FindDataSourceControl() private method

private FindDataSourceControl ( this current ) : IDynamicDataSource
current this
return IDynamicDataSource
		public static IDynamicDataSource FindDataSourceControl (this Control current)
		{
			var control = current as BaseDataBoundControl;
			if (control == null)
				return null;

			string dataSourceID = control.DataSourceID;
			if (!String.IsNullOrEmpty (dataSourceID))
				return control.DataSource as IDynamicDataSource;
			
			Control namingContainer = control.NamingContainer;
			IDynamicDataSource dds;
			while (namingContainer != null) {
				dds = namingContainer.FindControl (dataSourceID) as IDynamicDataSource;
				if (dds != null)
					return dds;

				namingContainer = namingContainer.NamingContainer;
			}

			return null;
		}