Share via


LinqDataSource.Updating Kejadian

Definisi

Terjadi sebelum operasi pembaruan.

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) 

Jenis Acara

Contoh

Contoh berikut menunjukkan penanganan aktivitas untuk peristiwa tersebut Updating . Kode membandingkan OriginalObject properti dari properti dan NewObject properti untuk melihat apakah nilai telah berubah. Jika nilai telah berubah, nilai NewObject properti diatur ke 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

Contoh berikut menunjukkan penanganan aktivitas untuk Updating peristiwa yang mengambil pengecualian validasi.

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

Contoh sebelumnya mengambil pengecualian validasi. Pengecualian mungkin dilemparkan jika nilai tidak cocok dengan jenis properti. Ini mungkin juga dilemparkan dari pemeriksaan yang disesuaikan seperti yang ada dalam contoh berikut. Metode OnAgeChanging memeriksa bahwa angka untuk Age properti tidak negatif.

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  

Keterangan

Updating Tangani peristiwa untuk memvalidasi objek yang akan diperbarui, untuk memeriksa kesalahan validasi data dari kelas data, untuk mengubah nilai sebelum operasi pembaruan, atau untuk membatalkan operasi pembaruan. Objek LinqDataSourceUpdateEventArgs yang diteruskan ke penanganan aktivitas berisi objek asli dan objek yang diperbarui.

Jika kesalahan validasi terjadi selama operasi pembaruan, LinqDataSourceInsertEventArgs objek berisi pengecualian validasi yang dilemparkan oleh kelas data. Kesalahan validasi terjadi jika nilai yang akan diperbarui tidak cocok dengan jenis properti di kelas data, atau jika tidak lulus pemeriksaan validasi kustom. Dalam penanganan aktivitas untuk peristiwa tersebut Updating , Anda dapat mengambil pengecualian validasi dan mengambil tindakan yang sesuai.

Jika pengecualian dilemparkan dalam penanganan aktivitas untuk peristiwa tersebut Updating , Anda harus menangani pengecualian di penanganan aktivitas tersebut. Pengecualian tidak akan diteruskan ke penanganan aktivitas untuk Updated peristiwa (melalui Exception properti LinqDataSourceStatusEventArgs objek ). Properti Exception hanya berisi pengecualian yang dilemparkan setelah Updating peristiwa.

Berlaku untuk