LinqDataSource.Updating É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 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 .