LinqDataSourceUpdateEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные о событии Updating.
public ref class LinqDataSourceUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class LinqDataSourceUpdateEventArgs : System.ComponentModel.CancelEventArgs
type LinqDataSourceUpdateEventArgs = class
inherit CancelEventArgs
Public Class LinqDataSourceUpdateEventArgs
Inherits CancelEventArgs
- Наследование
Примеры
В следующем примере показан обработчик событий для Updating события. В примере показано, как сравнить свойства из OriginalObject свойства и NewObject свойства, чтобы определить, изменилось ли значение в свойстве Category . Если да, CategoryChanged свойство объекта в свойстве 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 события. В нем отображаются сообщения об исключениях Label проверки с помощью элемента управления.
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;
}
}
Комментарии
Объект LinqDataSourceUpdateEventArgs передается любому обработчику Updating событий для события. Объект можно использовать LinqDataSourceUpdateEventArgs для проверки данных перед выполнением операции обновления в источнике данных. Затем можно проверить данные, проверить исключения проверки, созданные классом данных, или изменить значение перед обновлением. Вы также можете отменить операцию обновления.
Объект OriginalObject содержит данные, первоначально полученные из источника данных. Объект NewObject содержит данные, которые будут сохранены в источнике данных во время операции обновления.
Если объект, представляющий источник данных, создает исключение проверки перед обновлением данных, Exception свойство содержит экземпляр LinqDataSourceValidationException класса. Все исключения проверки можно получить с помощью InnerExceptions свойства. Если исключение проверки не возникаетnull, Exception свойство содержит . Если вы обрабатываете исключения проверки и не хотите, чтобы исключение было повторно создано, задайте ExceptionHandled для свойства значение true.
По умолчанию элемент LinqDataSource управления сохраняет исходные значения из источника данных в состоянии просмотра на веб-странице, за исключением тех, атрибут которых ColumnAttribute помечается как UpdateCheck.Never. LINQ to SQL автоматически проверяет целостность данных перед обновлением данных. Это делается путем сравнения текущих значений в источнике данных с исходными значениями, хранящимися в состоянии представления. LINQ to SQL вызывает исключение, если значения в источнике данных изменились. Вы можете выполнить дополнительную проверку данных, создав обработчик события Updating .
Конструкторы
| Имя | Описание |
|---|---|
| LinqDataSourceUpdateEventArgs(LinqDataSourceValidationException) |
Инициализирует новый экземпляр LinqDataSourceUpdateEventArgs класса с указанным исключением. |
| LinqDataSourceUpdateEventArgs(Object, Object) |
Инициализирует новый экземпляр класса LinqDataSourceUpdateEventArgs. |
Свойства
| Имя | Описание |
|---|---|
| Cancel |
Возвращает или задает значение, указывающее, следует ли отменить событие. (Унаследовано от CancelEventArgs) |
| Exception |
Возвращает исключение, которое было создано во время проверки данных перед операцией обновления. |
| ExceptionHandled |
Возвращает или задает значение, указывающее, было ли обработано исключение и что его не следует создавать повторно. |
| NewObject |
Возвращает объект, содержащий значения, которые будут сохранены в источнике данных. |
| OriginalObject |
Возвращает объект, содержащий значения, которые были первоначально получены из источника данных. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |