Поделиться через


LinqDataSource.Updating Событие

Определение

Происходит перед операцией обновления.

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) 

Тип события

Примеры

В следующем примере показан обработчик событий для Updating события . Код сравнивает свойства из OriginalObject свойства и свойства , NewObject чтобы увидеть, изменилось ли значение. Если значение изменилось, свойству NewObject присваивается 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

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

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

В предыдущем примере извлекаются исключения проверки. Если значение не соответствует типу свойства, может возникнуть исключение. Она также может быть получена из настроенного проверка, как в следующем примере. Метод 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  

Комментарии

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

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

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

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