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