Udostępnij za pośrednictwem


LinqDataSource.Updating Zdarzenie

Definicja

Występuje przed operacją aktualizacji.

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) 

Typ zdarzenia

Przykłady

Poniższy przykład przedstawia procedurę obsługi zdarzeń dla Updating zdarzenia. Kod porównuje właściwości z OriginalObject właściwości i NewObject właściwości, aby sprawdzić, czy wartość uległa zmianie. Jeśli wartość została zmieniona, wartość NewObject właściwości jest ustawiona na truewartość .

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

Poniższy przykład przedstawia procedurę obsługi zdarzeń dla Updating zdarzenia, które pobiera wyjątki weryfikacji.

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

W poprzednim przykładzie są pobierane wyjątki walidacji. Wyjątek może zostać zgłoszony, jeśli wartość nie jest zgodna z typem właściwości. Może zostać również wyrzucony z niestandardowego sprawdzania, takiego jak ten w poniższym przykładzie. Metoda OnAgeChanging sprawdza, czy liczba właściwości Age nie jest ujemna.

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ż zdarzenie, Updating aby zweryfikować obiekt do zaktualizowania, aby sprawdzić błędy walidacji danych z klasy danych, zmienić wartość przed operacją aktualizacji lub anulować operację aktualizacji. Obiekt LinqDataSourceUpdateEventArgs przekazywany do procedur obsługi zdarzeń zawiera zarówno oryginalny obiekt, jak i zaktualizowany obiekt.

Jeśli podczas operacji aktualizacji wystąpi błąd weryfikacji, LinqDataSourceInsertEventArgs obiekt zawiera wyjątki weryfikacji, które są zgłaszane przez klasę danych. Błąd sprawdzania poprawności występuje, jeśli wartość do zaktualizowania jest niezgodna z typem właściwości w klasie danych lub jeśli nie przejdzie niestandardowego sprawdzania poprawności. W procedurze obsługi zdarzeń dla Updating zdarzenia można pobrać wyjątki weryfikacji i podjąć odpowiednie działania.

Jeśli wyjątek jest zgłaszany w procedurze obsługi zdarzeń dla Updating zdarzenia, należy obsłużyć wyjątek w tej procedurze obsługi zdarzeń. Wyjątek nie zostanie przekazany do programu obsługi zdarzeń dla Updated zdarzenia (za pośrednictwem Exception właściwości LinqDataSourceStatusEventArgs obiektu). Właściwość Exception zawiera tylko wyjątki, które są zgłaszane po zdarzeniu Updating .

Dotyczy