Control.OnDataBinding-Methode
Assembly: System.Web (in system.web.dll)
Diese Methode weist ein Serversteuerelement an, jede ihm zugeordnete Datenbindungslogik auszuführen.
Wenn Sie das DataBinding-Ereignis behandeln möchten, überschreiben Sie diese Ereignisbehandlungsmethode. Damit wird sichergestellt, dass alle an das DataBinding-Ereignis angefügten Delegaten aufgerufen werden.
Im folgenden Beispiel wird veranschaulicht, wie die OnDataBinding-Methode überschrieben wird, um dem übergeordneten Steuerelement untergeordnete Steuerelemente aus einer Datenquelle hinzuzufügen.
// Override to create the repeated items from the DataSource. protected override void OnDataBinding(EventArgs e) { base.OnDataBinding(e); if (DataSource != null) { // Clear any existing child controls. Controls.Clear(); // Clear any previous view state for the existing child controls. ClearChildViewState(); // Iterate over the DataSource, creating a new item for each data item. IEnumerator dataEnum = DataSource.GetEnumerator(); int i = 0; while(dataEnum.MoveNext()) { // Create an item. RepeaterItem item = new RepeaterItem(i, dataEnum.Current); // Initialize the item from the template. ItemTemplate.InstantiateIn(item); // Add the item to the ControlCollection. Controls.Add(item); i++; } // Prevent child controls from being created again. ChildControlsCreated = true; // Store the number of items created in view state for postback scenarios. ViewState["NumItems"] = i; } }
// Override to create the repeated items from the DataSource.
protected void OnDataBinding(EventArgs e)
{
super.OnDataBinding(e);
if (get_DataSource() != null) {
// Clear any existing child controls.
get_Controls().Clear();
// Clear any previous view state for the existing child controls.
ClearChildViewState();
// Iterate over the DataSource, creating a new item for each
// data item.
IEnumerator dataEnum = get_DataSource().GetEnumerator();
int i = 0;
while (dataEnum.MoveNext()) {
// Create an item.
RepeaterItem item = new RepeaterItem(i, dataEnum.get_Current());
// Initialize the item from the template.
get_ItemTemplate().InstantiateIn(item);
// Add the item to the ControlCollection.
get_Controls().Add(item);
i++;
}
// Prevent child controls from being created again.
set_ChildControlsCreated(true);
// Store the number of items created in view state for postback
// scenarios.
get_ViewState().set_Item("NumItems", (Int32)i);
}
} //OnDataBinding
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.