Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Evento LinqDataSource.Inserting

 

Ocorre antes de uma operação de inserção.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web.Extensions (em System.Web.Extensions.dll)

public event EventHandler<LinqDataSourceInsertEventArgs> Inserting

Manipular o Inserting evento para validar o objeto a ser inserido, examine os erros de validação de dados da classe de dados, para alterar um valor antes da operação de inserção, ou cancelar a operação de inserção. O LinqDataSourceInsertEventArgs objeto passado para manipuladores de eventos para este evento contém o novo objeto inserção na fonte de dados.

Se ocorrer um erro de validação durante a operação de inserção, o LinqDataSourceInsertEventArgs objeto contém as exceções de validação que são geradas pela classe de dados. Um erro de validação ocorre se um valor a ser inserido não coincide com o tipo de propriedade na classe de dados, ou se ele não passar uma verificação de validação personalizada. Em um manipulador de eventos para o Inserting evento, você pode recuperar de exceções de validação e tomar as devidas providências.

Se uma exceção é lançada em um manipulador de eventos para o Inserting evento, você deve tratar da exceção no manipulador de eventos. A exceção não será passada para um manipulador de eventos o Inserted eventos (por meio do Exception propriedade do LinqDataSourceStatusEventArgs objeto). O Exception propriedade contém apenas as exceções que são lançadas após o Inserting evento.

O exemplo a seguir mostra um manipulador de eventos para o Inserting evento que modifica os dados antes da operação de inserção. O objeto a partir do NewObject propriedade é convertida para um tipo chamado Product. O DateModified propriedade o Product objeto é definido como a data e hora atuais.

protected void LinqDataSource_Inserting(object sender, LinqDataSourceInsertEventArgs e)
{
    Product product = (Product)e.NewObject;
    product.DateModified = DateTime.Now;
}

O exemplo a seguir mostra um manipulador de eventos para o Inserting evento que recupera as exceções de validação.

Protected Sub LinqDataSource_Inserting(ByVal sender As Object, _
        ByVal e As LinqDataSourceInsertEventArgs)
    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

[C#]

protected void LinqDataSource_Inserting(object sender, 
        LinqDataSourceInsertEventArgs 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;
    }
}

O exemplo anterior recupera exceções de validação. Uma exceção pode ser lançada se um valor não corresponder ao tipo da propriedade. Ele também pode ser lançado de uma verificação personalizada, como no exemplo a seguir. O OnAgeChanging método verifica se o número para o Age propriedade não é negativa.

partial void  OnAgeChanging(int? value)
{
    if (value < 0)
    {
        throw new Exception("Age cannot be a negative number.");
    }
}

.NET Framework
Disponível desde 3.5
Retornar ao início
Mostrar: