LinqDataSource.Inserting Olay

Tanım

Ekleme işleminden önce gerçekleşir.

public:
 event EventHandler<System::Web::UI::WebControls::LinqDataSourceInsertEventArgs ^> ^ Inserting;
public event EventHandler<System.Web.UI.WebControls.LinqDataSourceInsertEventArgs> Inserting;
member this.Inserting : EventHandler<System.Web.UI.WebControls.LinqDataSourceInsertEventArgs> 
Public Custom Event Inserting As EventHandler(Of LinqDataSourceInsertEventArgs) 

Olay Türü

Örnekler

Aşağıdaki örnekte, ekleme işleminden Inserting önce verileri değiştiren olay için bir olay işleyicisi gösterilmektedir. özelliğindeki NewObject nesnesi adlı Productbir türe yayınlanır. DateModified nesnesinin Product özelliği geçerli tarih ve saate ayarlanır.

protected void LinqDataSource_Inserting(object sender, LinqDataSourceInsertEventArgs e)
{
    Product product = (Product)e.NewObject;
    product.DateModified = DateTime.Now;
}
Protected Sub LinqDataSource_Inserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceInsertEventArgs)
    Dim product As Product
    product = CType(e.NewObject, Product)
    product.DateModified = DateTime.Now
End Sub

Aşağıdaki örnekte doğrulama özel durumlarını alan olay için Inserting bir olay işleyicisi gösterilmektedir.

Protected Sub LinqDataSource_Inserting(ByVal sender As Object, _  
        ByVal e As LinqDataSourceInsertEventArgs)  
    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_Inserting(object sender,   
        LinqDataSourceInsertEventArgs 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;  
    }  
}  

Önceki örnek doğrulama özel durumlarını alır. Bir değer özelliğin türüyle eşleşmiyorsa bir özel durum oluşturulabilir. Ayrıca aşağıdaki örnekteki gibi özelleştirilmiş bir denetimden de oluşturulabilir. yöntemi, OnAgeChanging özelliğin sayısının Age negatif olmadığını denetler.

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  

Açıklamalar

Inserting Eklenecek nesneyi doğrulamak, veri sınıfından veri doğrulama hatalarını incelemek, ekleme işleminden önce bir değeri değiştirmek veya ekleme işlemini iptal etmek için olayı işleyin. LinqDataSourceInsertEventArgs Bu olayın olay işleyicilerine geçirilen nesne, veri kaynağına eklenecek yeni nesneyi içerir.

Ekleme işlemi sırasında doğrulama hatası oluşursa, LinqDataSourceInsertEventArgs nesne veri sınıfı tarafından oluşturulan doğrulama özel durumlarını içerir. Eklenecek bir değer veri sınıfındaki özelliğin türüyle eşleşmiyorsa veya özel doğrulama denetimi geçmezse doğrulama hatası oluşur. Olayın olay işleyicisinde Inserting doğrulama özel durumlarını alabilir ve uygun eylemi gerçekleştirebilirsiniz.

Olay için Inserting bir olay işleyicisinde özel durum oluşturulursa, bu olay işleyicisinde özel durumu işlemeniz gerekir. Özel durum, olay için bir olay işleyicisine Inserted geçirilmeyecektir (nesnenin ExceptionLinqDataSourceStatusEventArgs özelliği aracılığıyla). Exception özelliği yalnızca olaydan sonra Inserting oluşan özel durumları içerir.

Şunlara uygulanır