Condividi tramite


LinqDataSourceUpdateEventArgs Classe

Definizione

Fornisce i dati per l'evento Updating.

public ref class LinqDataSourceUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class LinqDataSourceUpdateEventArgs : System.ComponentModel.CancelEventArgs
type LinqDataSourceUpdateEventArgs = class
    inherit CancelEventArgs
Public Class LinqDataSourceUpdateEventArgs
Inherits CancelEventArgs
Ereditarietà
LinqDataSourceUpdateEventArgs

Esempio

Nell'esempio seguente viene illustrato un gestore eventi per l'evento Updating . Nell'esempio viene illustrato come confrontare le proprietà della OriginalObject proprietà e la NewObject proprietà per determinare se il valore nella Category proprietà è stato modificato. In tal caso, la CategoryChanged proprietà dell'oggetto nella NewObject proprietà è impostata su 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 . Visualizza tutti i messaggi di eccezione di convalida usando un Label controllo .

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

Commenti

L'oggetto LinqDataSourceUpdateEventArgs viene passato a qualsiasi gestore eventi per l'evento Updating . È possibile utilizzare l'oggetto LinqDataSourceUpdateEventArgs per esaminare i dati prima dell'esecuzione dell'operazione di aggiornamento nell'origine dati. È quindi possibile convalidare i dati, esaminare le eccezioni di convalida generate dalla classe di dati o modificare un valore prima dell'aggiornamento. È anche possibile annullare l'operazione di aggiornamento.

L'oggetto OriginalObject contiene i dati originariamente recuperati dall'origine dati. L'oggetto NewObject contiene i dati che verranno salvati nell'origine dati durante l'operazione di aggiornamento.

Se l'oggetto che rappresenta l'origine dati genera un'eccezione di convalida prima di aggiornare i dati, la Exception proprietà contiene un'istanza della LinqDataSourceValidationException classe . È possibile recuperare tutte le eccezioni di convalida tramite la InnerExceptions proprietà . Se non viene generata alcuna eccezione di convalida, la Exception proprietà contiene null. Se si gestiscono le eccezioni di convalida e non si vuole che l'eccezione venga generata nuovamente, impostare la ExceptionHandled proprietà su true.

Per impostazione predefinita, il LinqDataSource controllo archivia i valori originali dell'origine dati nello stato di visualizzazione nella pagina Web, ad eccezione di quelli il cui ColumnAttribute attributo è contrassegnato come UpdateCheck.Never. LINQ to SQL controlla automaticamente l'integrità dei dati prima di aggiornare i dati. A tale scopo, confrontare i valori correnti nell'origine dati con i valori originali archiviati nello stato di visualizzazione. LINQ to SQL genera un'eccezione se i valori nell'origine dati sono stati modificati. È possibile eseguire una convalida aggiuntiva dei dati creando un gestore per l'evento Updating .

Costruttori

LinqDataSourceUpdateEventArgs(LinqDataSourceValidationException)

Consente l'inizializzazione di una nuova istanza della classe LinqDataSourceUpdateEventArgs con l'eccezione specificata.

LinqDataSourceUpdateEventArgs(Object, Object)

Inizializza una nuova istanza della classe LinqDataSourceUpdateEventArgs.

Proprietà

Cancel

Ottiene o imposta un valore che indica se l'evento debba essere annullato.

(Ereditato da CancelEventArgs)
Exception

Ottiene l'eccezione generata durante la convalida dei dati prima dell'operazione di aggiornamento.

ExceptionHandled

Ottiene o imposta un valore che indica se l'eccezione è stata gestita e non deve essere nuovamente generata.

NewObject

Ottiene l'oggetto che contiene i valori che verranno salvati nell'origine dati.

OriginalObject

Ottiene l'oggetto che contiene i valori originariamente recuperati dall'origine dati.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche