System.Web.UI.Control.DataBind C# (CSharp) Method

DataBind() protected method

protected DataBind ( bool raiseOnDataBinding ) : void
raiseOnDataBinding bool
return void
		protected virtual void DataBind (bool raiseOnDataBinding)
		{
			bool foundDataItem = false;

			if ((stateMask & IS_NAMING_CONTAINER) != 0 && Page != null) {
				object o = DataBinder.GetDataItem (this, out foundDataItem);
				if (foundDataItem)
					Page.PushDataItemContext (o);
			}

			try {
				if (raiseOnDataBinding)
					OnDataBinding (EventArgs.Empty);
				DataBindChildren ();
			} finally {
				if (foundDataItem)
					Page.PopDataItemContext ();
			}
		}

Same methods

Control::DataBind ( ) : void

Usage Example

        protected override void OnPreRender(EventArgs e) {
            base.OnPreRender(e);

            // Dummy control to which we parent all the data item controls
            Control containerControl = new Control();

            IEnumerable dataItems = ViewData.Eval(Name) as IEnumerable;
            bool hasData = false;
            if (dataItems != null) {
                int index = 0;
                foreach (object dataItem in dataItems) {
                    hasData = true;
                    RepeaterItem repeaterItem = new RepeaterItem(index, dataItem) {
                        ViewData = new ViewDataDictionary(dataItem),
                    };
                    ItemTemplate.InstantiateIn(repeaterItem);
                    containerControl.Controls.Add(repeaterItem);

                    index++;
                }
            }

            if (!hasData) {
                // If there was no data, instantiate the EmptyDataTemplate
                Control emptyDataContainer = new Control();
                EmptyDataTemplate.InstantiateIn(emptyDataContainer);
                containerControl.Controls.Add(emptyDataContainer);
            }

            Controls.Add(containerControl);

            containerControl.DataBind();
        }
All Usage Examples Of System.Web.UI.Control::DataBind