LinqDataSource.Updating Gebeurtenis

Definitie

Vindt plaats vóór een updatebewerking.

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) 

Gebeurtenistype

Voorbeelden

In het volgende voorbeeld ziet u een gebeurtenis-handler voor de Updating gebeurtenis. De code vergelijkt eigenschappen van de OriginalObject eigenschap en de NewObject eigenschap om te zien of een waarde is gewijzigd. Als de waarde is gewijzigd, wordt een waarde van de NewObject eigenschap ingesteld op 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

In het volgende voorbeeld ziet u een gebeurtenis-handler voor de Updating gebeurtenis die validatieuitzonderingen ophaalt.

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

In het vorige voorbeeld worden validatie-uitzonderingen opgehaald. Er kan een uitzondering worden gegenereerd als een waarde niet overeenkomt met het type eigenschap. Het kan ook worden gegenereerd door een aangepaste controle, zoals de controle in het volgende voorbeeld. De OnAgeChanging methode controleert of het getal voor de Age eigenschap niet negatief is.

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

Opmerkingen

Updating De gebeurtenis afhandelen om het object te valideren dat moet worden bijgewerkt, om gegevensvalidatiefouten uit de gegevensklasse te onderzoeken, een waarde te wijzigen vóór de updatebewerking of om de updatebewerking te annuleren. Het LinqDataSourceUpdateEventArgs object dat wordt doorgegeven aan gebeurtenis-handlers bevat zowel het oorspronkelijke object als het bijgewerkte object.

Als er tijdens de updatebewerking een validatiefout optreedt, bevat het LinqDataSourceInsertEventArgs object de validatieuitzondering die door de gegevensklasse worden gegenereerd. Er treedt een validatiefout op als een waarde die moet worden bijgewerkt niet overeenkomt met het type eigenschap in de gegevensklasse of als deze geen aangepaste validatiecontrole doorgeeft. In een gebeurtenis-handler voor de Updating gebeurtenis kunt u de validatie-uitzonderingen ophalen en de juiste actie ondernemen.

Als er een uitzondering wordt gegenereerd in een gebeurtenis-handler voor de Updating gebeurtenis, moet u de uitzondering in die gebeurtenis-handler afhandelen. De uitzondering wordt niet doorgegeven aan een gebeurtenis-handler voor de Updated gebeurtenis (via de Exception eigenschap van het LinqDataSourceStatusEventArgs object). De Exception eigenschap bevat alleen de uitzonderingen die worden gegenereerd na de Updating gebeurtenis.

Van toepassing op