LinqDataSource.Inserting Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 .