War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
PerformDataBinding-Methode

DataBoundControl.PerformDataBinding-Methode

Bindet beim Überschreiben in einer abgeleiteten Klasse Daten aus der Datenquelle an das Steuerelement.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

protected internal virtual void PerformDataBinding (
	IEnumerable data
)
protected void PerformDataBinding (
	IEnumerable data
)
protected internal function PerformDataBinding (
	data : IEnumerable
)
Nicht zutreffend.

Parameter

data

Die IEnumerable-Datenliste, die bei einem Aufruf der PerformSelect-Methode zurückgegeben wurde.

Implementieren Sie statt der DataBind-Methode diese Methode, wenn Sie ein datengebundenes Steuerelement aus der DataBoundControl-Klasse ableiten. Durch Platzieren der Datenbindungslogik des Steuerelements in PerformDataBinding können Sie vermeiden, dass das DataBinding-Ereignis und das DataBound-Ereignis in der falschen Reihenfolge ausgelöst werden.

Während die DataBoundControl-Basisklasse keine spezielle Implementierung für diese Methode bereitstellt, wird die PerformDataBinding-Methode von der PerformSelect-Methode aufgerufen, um die Werte aller Steuerelemente der Benutzeroberfläche an die von der PerformSelect-Methode abgerufenen Daten zu binden.

Im folgenden Codebeispiel wird veranschaulicht, wie die PerformDataBinding-Methode in einer von DataBoundControl abgeleiteten Klasse implementiert wird. Das TextBoxSet-Steuerelement erstellt ein TextBox-Steuerelement für jedes Datenelement, an das es gebunden ist. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die DataBoundControl-Klasse.

protected override void PerformDataBinding(IEnumerable retrievedData) {
    base.PerformDataBinding(retrievedData);

    // If the data is retrieved from an IDataSource as an 
    // IEnumerable collection, attempt to bind its values to a 
    // set of TextBox controls.
    if (retrievedData != null) {

        foreach (object dataItem in retrievedData) {
            
            TextBox box = new TextBox();
            
            // The dataItem is not just a string, but potentially
            // a System.Data.DataRowView or some other container. 
            // If DataTextField is set, use it to determine which 
            // field to render. Otherwise, use the first field.                    
            if (DataTextField.Length > 0) {
                box.Text = DataBinder.GetPropertyValue(dataItem, 
                    DataTextField, null);
            }
            else {
                PropertyDescriptorCollection props = 
                    TypeDescriptor.GetProperties(dataItem);

                // Set the "default" value of the TextBox.
                box.Text = String.Empty;
                
                // Set the true data-bound value of the TextBox,
                // if possible.
                if (props.Count >= 1) {                        
                    if (null != props[0].GetValue(dataItem)) {
                        box.Text = props[0].GetValue(dataItem).ToString();
                    }
                }
            }                                        
            
            BoxSet.Add(box);
        }
    }
}

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 wird unter Windows Vista, Microsoft Windows XP SP2 und Windows Server 2003 SP1 unterstützt.

.NET Framework

Unterstützt in: 3.0, 2.0
Anzeigen:
© 2015 Microsoft