Partager via


LinqDataSource.Updating Événement

Définition

Se produit avant une opération de mise à jour.

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) 

Type d'événement

Exemples

L’exemple suivant montre un gestionnaire d’événements pour l’événement Updating . Le code compare les propriétés de la OriginalObject propriété et de la NewObject propriété pour voir si une valeur a changé. Si la valeur a changé, la valeur de la NewObject propriété est définie sur true.

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

L’exemple suivant montre un gestionnaire d’événements pour l’événement Updating qui récupère les exceptions de validation.

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;  
    }  
}  

L’exemple précédent récupère les exceptions de validation. Une exception peut être levée si une valeur ne correspond pas au type de la propriété. Elle peut également être levée à partir d’un case activée personnalisé tel que celui de l’exemple suivant. La OnAgeChanging méthode vérifie que le nombre de la Age propriété n’est pas négatif.

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  

Remarques

Gérez l’événement Updating pour valider l’objet à mettre à jour, pour examiner les erreurs de validation des données de la classe de données, pour modifier une valeur avant l’opération de mise à jour ou pour annuler l’opération de mise à jour. L’objet LinqDataSourceUpdateEventArgs passé aux gestionnaires d’événements contient à la fois l’objet d’origine et l’objet mis à jour.

Si une erreur de validation se produit pendant l’opération de mise à jour, l’objet LinqDataSourceInsertEventArgs contient les exceptions de validation levées par la classe de données. Une erreur de validation se produit si une valeur à mettre à jour ne correspond pas au type de la propriété dans la classe de données, ou si elle ne passe pas une case activée de validation personnalisée. Dans un gestionnaire d’événements pour l’événement Updating , vous pouvez récupérer les exceptions de validation et prendre les mesures appropriées.

Si une exception est levée dans un gestionnaire d’événements pour l’événement Updating , vous devez gérer l’exception dans ce gestionnaire d’événements. L’exception ne sera pas passée à un gestionnaire d’événements pour l’événement Updated (via la Exception propriété de l’objet LinqDataSourceStatusEventArgs ). La Exception propriété contient uniquement les exceptions levées après l’événement Updating .

S’applique à