Freigeben über


LinqDataSource.Inserting Ereignis

Definition

Tritt vor einem Einfügevorgang ein.

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) 

Ereignistyp

Beispiele

Das folgende Beispiel zeigt einen Ereignishandler für das Ereignis, das Inserting Daten vor dem Einfügevorgang ändert. Das Objekt aus der NewObject -Eigenschaft wird in einen Typ namens Productumgewandelt. Die DateModified -Eigenschaft des Product -Objekts wird auf das aktuelle Datum und die aktuelle Uhrzeit festgelegt.

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

Das folgende Beispiel zeigt einen Ereignishandler für das Ereignis, das Inserting Validierungsausnahmen abruft.

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

Im vorherigen Beispiel werden Validierungsausnahmen abgerufen. Eine Ausnahme kann ausgelöst werden, wenn ein Wert nicht mit dem Typ der Eigenschaft übereinstimmt. Es kann auch von einer benutzerdefinierten Überprüfung wie der im folgenden Beispiel ausgelöst werden. Die OnAgeChanging -Methode überprüft, ob die Zahl für die Age Eigenschaft nicht negativ ist.

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  

Hinweise

Behandeln Sie das Inserting -Ereignis, um das einzufügende Objekt zu überprüfen, Datenüberprüfungsfehler aus der Datenklasse zu untersuchen, einen Wert vor dem Einfügevorgang zu ändern oder den Einfügevorgang abzubrechen. Das LinqDataSourceInsertEventArgs an Ereignishandler für dieses Ereignis übergebene Objekt enthält das neue Objekt, das in die Datenquelle eingefügt werden soll.

Wenn während des Einfügevorgangs ein Validierungsfehler auftritt, enthält das LinqDataSourceInsertEventArgs Objekt die Validierungsausnahmen, die von der Datenklasse ausgelöst werden. Ein Validierungsfehler tritt auf, wenn ein einzufügener Wert nicht mit dem Typ der Eigenschaft in der Datenklasse übereinstimmt oder eine benutzerdefinierte Überprüfung nicht besteht. In einem Ereignishandler für das Inserting Ereignis können Sie die Validierungsausnahmen abrufen und entsprechende Maßnahmen ergreifen.

Wenn eine Ausnahme in einem Ereignishandler für das Inserting Ereignis ausgelöst wird, müssen Sie die Ausnahme in diesem Ereignishandler behandeln. Die Ausnahme wird nicht an einen Ereignishandler für das Inserted Ereignis übergeben (über die Exception -Eigenschaft des LinqDataSourceStatusEventArgs -Objekts). Die Exception -Eigenschaft enthält nur die Ausnahmen, die nach dem Inserting Ereignis ausgelöst werden.

Gilt für: