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 свойства . Если исключение проверки не создается, Exception свойство содержит null
. Если вы обрабатываете исключения проверки и не хотите повторно создавать исключение, присвойте свойству 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) |