Freigeben über


LinqDataSource.Updating Ereignis

Definition

Tritt vor einem Aktualisierungsvorgang ein.

public:
 event EventHandler<System::Web::UI::WebControls::LinqDataSourceUpdateEventArgs ^> ^ Updating;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceUpdateEventArgs> Updating;
member this.Updating : EventHandler<System.Web.UI.WebControls.LinqDataSourceUpdateEventArgs> 
Public Custom Event Updating As EventHandler(Of LinqDataSourceUpdateEventArgs) 

Ereignistyp

Beispiele

Das folgende Beispiel zeigt einen Ereignishandler für das Updating Ereignis. Der Code vergleicht Eigenschaften aus der OriginalObject -Eigenschaft und der NewObject -Eigenschaft, um festzustellen, ob sich ein Wert geändert hat. Wenn sich der Wert geändert hat, wird ein Wert der NewObject -Eigenschaft auf truefestgelegt.

protected void LinqDataSource_Updating(object sender, LinqDataSourceUpdateEventArgs e)
{
    Product originalProduct = (Product)e.OriginalObject;
    Product newProduct = (Product)e.NewObject;

    if (originalProduct.Category != newProduct.Category)
    {
        newProduct.CategoryChanged = true;
    }
}
Protected Sub LinqDataSource_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceUpdateEventArgs)
    Dim originalProduct As Product
    Dim newProduct As Product

    originalProduct = CType(e.OriginalObject, Product)
    newProduct = CType(e.NewObject, Product)

    If (originalProduct.Category <> newProduct.Category) Then
        newProduct.CategoryChanged = True
    End If
End Sub

Das folgende Beispiel zeigt einen Ereignishandler für das Ereignis, das Updating Validierungsausnahmen abruft.

Protected Sub LinqDataSource_Updating(ByVal sender As Object, _  
        ByVal e As LinqDataSourceUpdateEventArgs)  
    If (e.Exception IsNot Nothing) Then  
        For Each innerException As KeyValuePair(Of String, Exception) _  
               In e.Exception.InnerExceptions  
            Label1.Text &= innerException.Key & ": " & _  
                innerException.Value.Message & "<br />"  
        Next  
        e.ExceptionHandled = True  
    End If  
End Sub  
protected void LinqDataSource_Updating(object sender,   
        LinqDataSourceUpdateEventArgs e)  
{  
    if (e.Exception != null)  
    {  
        foreach (KeyValuePair<string, Exception> innerException in   
             e.Exception.InnerExceptions)  
        {  
        Label1.Text += innerException.Key + ": " +   
            innerException.Value.Message + "<br />";  
        }  
        e.ExceptionHandled = true;  
    }  
}  

Im vorherigen Beispiel werden Validierungsausnahmen abgerufen. Eine Ausnahme kann ausgelöst werden, wenn ein Wert nicht mit dem Typ der Eigenschaft übereinstimmt. Es kann auch von einer benutzerdefinierten Überprüfung wie der im folgenden Beispiel ausgelöst werden. Die OnAgeChanging -Methode überprüft, ob die Zahl für die Age Eigenschaft nicht negativ ist.

partial void  OnAgeChanging(int? value)  
{  
    if (value < 0)  
    {  
        throw new Exception("Age cannot be a negative number.");  
    }  
}  
Private Sub OnAgeChanging(ByVal value As System.Nullable(Of Integer))  
    If (value < 0) Then  
        Throw New Exception("Age cannot be a negative number.")  
    End If  
End Sub  

Hinweise

Behandeln Sie das Updating Ereignis, um das zu aktualisierende Objekt zu überprüfen, Datenüberprüfungsfehler aus der Datenklasse zu untersuchen, einen Wert vor dem Aktualisierungsvorgang zu ändern oder den Aktualisierungsvorgang abzubrechen. Das LinqDataSourceUpdateEventArgs an Ereignishandler übergebene Objekt enthält sowohl das ursprüngliche als auch das aktualisierte Objekt.

Wenn während des Aktualisierungsvorgangs ein Validierungsfehler auftritt, enthält das LinqDataSourceInsertEventArgs Objekt die Validierungsausnahmen, die von der Datenklasse ausgelöst werden. Ein Validierungsfehler tritt auf, wenn ein zu aktualisierener Wert nicht mit dem Typ der Eigenschaft in der Datenklasse übereinstimmt oder eine benutzerdefinierte Überprüfung nicht besteht. In einem Ereignishandler für das Updating Ereignis können Sie die Validierungsausnahmen abrufen und entsprechende Maßnahmen ergreifen.

Wenn eine Ausnahme in einem Ereignishandler für das Updating Ereignis ausgelöst wird, müssen Sie die Ausnahme in diesem Ereignishandler behandeln. Die Ausnahme wird nicht an einen Ereignishandler für das Updated Ereignis übergeben (über die Exception -Eigenschaft des LinqDataSourceStatusEventArgs -Objekts). Die Exception -Eigenschaft enthält nur die Ausnahmen, die nach dem Updating Ereignis ausgelöst werden.

Gilt für: