LinqDataSourceUpdateEventArgs Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece dados para o evento de Updating .
public ref class LinqDataSourceUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class LinqDataSourceUpdateEventArgs : System.ComponentModel.CancelEventArgs
type LinqDataSourceUpdateEventArgs = class
inherit CancelEventArgs
Public Class LinqDataSourceUpdateEventArgs
Inherits CancelEventArgs
- Herança
Exemplos
O exemplo a seguir mostra um manipulador de eventos para o Updating evento. O exemplo mostra como comparar propriedades da OriginalObject propriedade e da NewObject propriedade para determinar se o valor na Category
propriedade foi alterado. Nesse caso, a CategoryChanged
propriedade do objeto na NewObject propriedade é definida true
como .
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
O exemplo a seguir mostra um manipulador de eventos para o Updating evento. Ele exibe todas as mensagens de exceção de validação usando um Label controle .
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;
}
}
Comentários
O LinqDataSourceUpdateEventArgs objeto é passado para qualquer manipulador de eventos para o Updating evento. Você pode usar o LinqDataSourceUpdateEventArgs objeto para examinar os dados antes que a operação de atualização seja executada na fonte de dados. Em seguida, você pode validar os dados, examinar as exceções de validação geradas pela classe de dados ou alterar um valor antes da atualização. Você também pode cancelar a operação de atualização.
O OriginalObject objeto contém os dados que foram originalmente recuperados da fonte de dados. O NewObject objeto contém os dados que serão salvos na fonte de dados durante a operação de atualização.
Se o objeto que representa a fonte de dados gerar uma exceção de validação antes de atualizar os dados, a Exception propriedade conterá uma instância da LinqDataSourceValidationException classe . Você pode recuperar todas as exceções de validação por meio da InnerExceptions propriedade . Se nenhuma exceção de validação for gerada, a Exception propriedade conterá null
. Se você manipular as exceções de validação e não quiser que a exceção seja gerada novamente, defina a ExceptionHandled propriedade como true
.
Por padrão, o LinqDataSource controle armazena os valores originais da fonte de dados no estado de exibição na página da Web, exceto aqueles cujo ColumnAttribute atributo está marcado como UpdateCheck.Never
. LINQ to SQL verifica automaticamente a integridade dos dados antes de atualizar os dados. Ele faz isso comparando os valores atuais na fonte de dados com os valores originais armazenados no estado de exibição. LINQ to SQL gerará uma exceção se os valores na fonte de dados forem alterados. Você pode executar validação de dados adicionais criando um manipulador para o Updating evento.
Construtores
LinqDataSourceUpdateEventArgs(LinqDataSourceValidationException) |
Inicializa uma nova instância da classe LinqDataSourceUpdateEventArgs com a exceção especificada. |
LinqDataSourceUpdateEventArgs(Object, Object) |
Inicializa uma nova instância da classe LinqDataSourceUpdateEventArgs. |
Propriedades
Cancel |
Obtém ou define um valor que indica se o evento deve ser cancelado. (Herdado de CancelEventArgs) |
Exception |
Obtém a exceção gerada enquanto os dados estavam sendo validados antes da operação de atualização. |
ExceptionHandled |
Obtém ou define um valor que indica se a exceção foi tratada e que ela não deve ser gerada novamente. |
NewObject |
Obtém o objeto que contém os valores que serão salvos na fonte de dados. |
OriginalObject |
Obtém o objeto que contém os valores que foram originalmente recuperados da fonte de dados. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |