LinqDataSource.Inserting LinqDataSource.Inserting LinqDataSource.Inserting LinqDataSource.Inserting Event

Definizione

Si verifica prima di un'operazione di inserimento.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) 

Esempi

Nell'esempio seguente viene illustrato un gestore eventi per Inserting l'evento che modifica i dati prima dell'operazione di inserimento.The following example shows an event handler for the Inserting event that modifies data before the insert operation. Viene eseguito il cast NewObject dell'oggetto dalla proprietà a un tipo Productdenominato.The object from the NewObject property is cast to a type named Product. La DateModified proprietàProduct dell'oggetto è impostata sulla data e sull'ora correnti.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

Nell'esempio seguente viene illustrato un gestore eventi per Inserting l'evento che recupera le eccezioni di convalida.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;  
    }  
}  

Nell'esempio precedente vengono recuperate le eccezioni di convalida.The previous example retrieves validation exceptions. Se un valore non corrisponde al tipo della proprietà, è possibile che venga generata un'eccezione.An exception might be thrown if a value does not match the type of the property. Potrebbe anche essere generata da un controllo personalizzato, ad esempio quello nell'esempio seguente.It might also be thrown from a customized check such as the one in the following example. Il OnAgeChanging metodo verifica che il numero per la Age proprietà non sia negativo.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  

Commenti

Gestire l' Inserting evento per convalidare l'oggetto da inserire, per esaminare gli errori di convalida dei dati dalla classe di dati, per modificare un valore prima dell'operazione di inserimento o per annullare l'operazione di inserimento.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. L' LinqDataSourceInsertEventArgs oggetto passato ai gestori eventi per questo evento contiene il nuovo oggetto da inserire nell'origine dati.The LinqDataSourceInsertEventArgs object passed to event handlers for this event contains the new object to insert in the data source.

Se si verifica un errore di convalida durante l'operazione di LinqDataSourceInsertEventArgs inserimento, l'oggetto contiene le eccezioni di convalida generate dalla classe di dati.If a validation error occurs during the insert operation, the LinqDataSourceInsertEventArgs object contains the validation exceptions that are thrown by the data class. Si verifica un errore di convalida se un valore da inserire non corrisponde al tipo della proprietà nella classe di dati o se non supera un controllo di convalida personalizzato.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. In un gestore eventi per l' Inserting evento è possibile recuperare le eccezioni di convalida e intraprendere l'azione appropriata.In an event handler for the Inserting event, you can retrieve the validation exceptions and take appropriate action.

Se viene generata un'eccezione in un gestore eventi per l' Inserting evento, è necessario gestire l'eccezione nel gestore eventi.If an exception is thrown in an event handler for the Inserting event, you must handle the exception in that event handler. L'eccezione non verrà passata a un gestore eventi per l' Inserted evento (tramite la Exception proprietà dell' LinqDataSourceStatusEventArgs oggetto).The exception will not be passed to an event handler for the Inserted event (through the Exception property of the LinqDataSourceStatusEventArgs object). La Exception proprietà contiene solo le eccezioni generate dopo l' Inserting evento.The Exception property contains only the exceptions that are thrown after the Inserting event.

Si applica a