Бөлісу құралы:


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 свойства, чтобы узнать, изменилось ли значение. Если значение изменилось, для свойства задано trueзначение NewObject .

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 события.

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