LinqDataSource.Inserting Événement

Définition

Se produit avant une opération d'insertion.

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

Type d'événement

Exemples

L’exemple suivant montre un gestionnaire d’événements pour l’événement Inserting qui modifie les données avant l’opération d’insertion. L’objet de la NewObject propriété est converti en un type nommé Product. La DateModified propriété de l’objet Product est définie sur la date et l’heure actuelles.

protected void LinqDataSource_Inserting(object sender, LinqDataSourceInsertEventArgs e)
{
    Product product = (Product)e.NewObject;
    product.DateModified = DateTime.Now;
}
Protected Sub LinqDataSource_Inserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceInsertEventArgs)
    Dim product As Product
    product = CType(e.NewObject, Product)
    product.DateModified = DateTime.Now
End Sub

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

Protected Sub LinqDataSource_Inserting(ByVal sender As Object, _  
        ByVal e As LinqDataSourceInsertEventArgs)  
    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_Inserting(object sender,   
        LinqDataSourceInsertEventArgs 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 Inserting pour valider l’objet à insérer, pour examiner les erreurs de validation des données à partir de la classe de données, pour modifier une valeur avant l’opération d’insertion ou pour annuler l’opération d’insertion. L’objet LinqDataSourceInsertEventArgs passé aux gestionnaires d’événements pour cet événement contient le nouvel objet à insérer dans la source de données.

Si une erreur de validation se produit pendant l’opération d’insertion, 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 à insérer 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 Inserting , 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 Inserting , 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 Inserted (via la Exception propriété de l’objet LinqDataSourceStatusEventArgs ). La Exception propriété contient uniquement les exceptions levées après l’événement Inserting .

S’applique à