LinqDataSource.Updating Evento

Definizione

Si verifica prima di un'operazione di aggiornamento.Occurs before an update operation.

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) 

Esempi

Nell'esempio seguente viene illustrato un gestore eventi per l'evento Updating.The following example shows an event handler for the Updating event. Il codice confronta le proprietà della proprietà OriginalObject e la proprietà NewObject per verificare se un valore è stato modificato.The code compares properties from the OriginalObject property and the NewObject property to see whether a value has changed. Se il valore è stato modificato, il valore della proprietà NewObject viene impostato su true.If the value has changed, a value of the NewObject property is set to 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

Nell'esempio seguente viene illustrato un gestore eventi per l'evento Updating che recupera le eccezioni di convalida.The following example shows an event handler for the Updating event that retrieves validation exceptions.

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

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 metodo OnAgeChanging verifica che il numero per la proprietà Age 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'evento Updating per convalidare l'oggetto da aggiornare, per esaminare gli errori di convalida dei dati dalla classe di dati, per modificare un valore prima dell'operazione di aggiornamento o per annullare l'operazione di aggiornamento.Handle the Updating event to validate the object to be updated, to examine data validation errors from the data class, to change a value before the update operation, or to cancel the update operation. L'oggetto LinqDataSourceUpdateEventArgs passato ai gestori eventi contiene sia l'oggetto originale che l'oggetto aggiornato.The LinqDataSourceUpdateEventArgs object that is passed to event handlers contains both the original object and the updated object.

Se si verifica un errore di convalida durante l'operazione di aggiornamento, l'oggetto LinqDataSourceInsertEventArgs contiene le eccezioni di convalida generate dalla classe di dati.If a validation error occurs during the update 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 aggiornare 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 updated 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'evento Updating è possibile recuperare le eccezioni di convalida ed eseguire l'azione appropriata.In an event handler for the Updating event, you can retrieve the validation exceptions and take appropriate action.

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

Si applica a