LinqDataSource.Inserting Zdarzenie

Definicja

Występuje przed operacją INSERT.Occurs before an insert operation.

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) 

Typ zdarzenia

EventHandler<LinqDataSourceInsertEventArgs>

Przykłady

Poniższy przykład pokazuje procedurę obsługi zdarzeń Inserting , która modyfikuje dane przed operacją wstawiania.The following example shows an event handler for the Inserting event that modifies data before the insert operation. Obiekt z NewObject właściwości jest rzutowany na typ o nazwie Product .The object from the NewObject property is cast to a type named Product. DateModifiedWłaściwość Product obiektu jest ustawiona na bieżącą datę i godzinę.The DateModified property of the Product object is set to the current date and time.

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

Poniższy przykład pokazuje program obsługi zdarzeń dla Inserting zdarzenia, które pobiera wyjątki walidacji.The following example shows an event handler for the Inserting event that retrieves validation exceptions.

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

Poprzedni przykład pobiera wyjątki walidacji.The previous example retrieves validation exceptions. Wyjątek może zostać wygenerowany, jeśli wartość nie jest zgodna z typem właściwości.An exception might be thrown if a value does not match the type of the property. Może być również zgłaszane z dostosowanego sprawdzenia, takiego jak ten w poniższym przykładzie.It might also be thrown from a customized check such as the one in the following example. OnAgeChangingMetoda sprawdza, czy liczba Age właściwości nie jest ujemna.The OnAgeChanging method checks that the number for the Age property is not negative.

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  

Uwagi

Obsłuż Inserting zdarzenie, aby sprawdzić poprawność obiektu do wstawienia, aby sprawdzić błędy walidacji danych z klasy danych, zmienić wartość przed operacją INSERT lub aby anulować operację wstawiania.Handle the Inserting event to validate the object to be inserted, to examine data validation errors from the data class, to change a value before the insert operation, or to cancel the insert operation. LinqDataSourceInsertEventArgsObiekt przesłany do obsługi zdarzeń dla tego zdarzenia zawiera nowy obiekt do wstawienia w źródle danych.The LinqDataSourceInsertEventArgs object passed to event handlers for this event contains the new object to insert in the data source.

Jeśli podczas operacji wstawiania wystąpi błąd walidacji, LinqDataSourceInsertEventArgs obiekt zawiera wyjątki walidacji, które są zgłaszane przez klasę danych.If a validation error occurs during the insert operation, the LinqDataSourceInsertEventArgs object contains the validation exceptions that are thrown by the data class. Błąd walidacji występuje, jeśli wartość, która ma zostać wstawiona, nie pasuje do typu właściwości w klasie danych lub jeśli nie przeszedł niestandardowego sprawdzania poprawności.A validation error occurs if a value to be inserted does not match the type of the property in the data class, or if it does not pass a custom validation check. W procedurze obsługi zdarzeń dla Inserting zdarzenia można pobrać wyjątki walidacji i podjąć odpowiednie działania.In an event handler for the Inserting event, you can retrieve the validation exceptions and take appropriate action.

Jeśli wyjątek jest zgłaszany w procedurze obsługi zdarzeń dla Inserting zdarzenia, należy obsłużyć wyjątek w tym obsłudze zdarzeń.If an exception is thrown in an event handler for the Inserting event, you must handle the exception in that event handler. Wyjątek nie zostanie przesłany do procedury obsługi zdarzeń dla Inserted zdarzenia (przez Exception Właściwość LinqDataSourceStatusEventArgs obiektu).The exception will not be passed to an event handler for the Inserted event (through the Exception property of the LinqDataSourceStatusEventArgs object). ExceptionWłaściwość zawiera tylko wyjątki, które są zgłaszane po Inserting zdarzeniu.The Exception property contains only the exceptions that are thrown after the Inserting event.

Dotyczy