LinqDataSourceUpdateEventArgs Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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) |