LinqDataSource.Inserting Событие

Определение

Происходит перед операцией вставки.

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) 

Тип события

Примеры

В следующем примере показан обработчик события, Inserting который изменяет данные перед операцией вставки. Объект из NewObject свойства приводится к типу с именем Product. Свойству DateModifiedProduct объекта присваивается текущая дата и время.

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

В следующем примере показан обработчик событий для Inserting события, извлекающего исключения проверки.

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

В предыдущем примере извлекаются исключения проверки. Если значение не соответствует типу свойства, может возникнуть исключение. Он также может быть создан из настраиваемого проверка, как в следующем примере. Метод OnAgeChanging проверяет, не является ли число свойства отрицательным Age .

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  

Комментарии

Inserting Обработка события позволяет проверить вставляемый объект, проверить ошибки проверки данных из класса данных, изменить значение перед операцией вставки или отменить операцию вставки. Объект, передаваемый LinqDataSourceInsertEventArgs обработчикам событий для этого события, содержит новый объект для вставки в источник данных.

Если во время операции вставки возникает ошибка проверки, LinqDataSourceInsertEventArgs объект содержит исключения проверки, создаваемые классом данных. Ошибка проверки возникает, если вставляемое значение не соответствует типу свойства в классе данных или если оно не проходит настраиваемую проверка проверки. В обработчике событий для Inserting события можно получить исключения проверки и выполнить соответствующее действие.

Если в обработчике событий возникает исключение для Inserting события, необходимо обработать исключение в этом обработчике событий. Исключение не будет передано обработчику событий для Inserted события (через Exception свойство LinqDataSourceStatusEventArgs объекта ). Свойство Exception содержит только исключения, которые создаются после Inserting события .

Применяется к