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

Classe DetailsViewUpdateEventArgs

 

Fornece dados para o evento ItemUpdating.

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


public class DetailsViewUpdateEventArgs : CancelEventArgs

NomeDescrição
System_CAPS_pubmethodDetailsViewUpdateEventArgs(Object)

Inicializa uma nova instância da classe DetailsViewUpdateEventArgs.

NomeDescrição
System_CAPS_pubpropertyCancel

Obtém ou define um valor que indica se o evento deve ser cancelado.(herdado de CancelEventArgs.)

System_CAPS_pubpropertyCommandArgument

Obtém o argumento de comando para a operação de atualização é passado para o DetailsView controle.

System_CAPS_pubpropertyKeys

Obtém um dicionário que contém os pares de nome/valor do campo de chave do registro para atualizar.

System_CAPS_pubpropertyNewValues

Obtém um dicionário que contém os pares de nome/valor de campo novo para o registro para atualizar.

System_CAPS_pubpropertyOldValues

Obtém um dicionário que contém os pares de nome/valor de campo original para o registro para atualizar.

NomeDescrição
System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash para um tipo específico. (herdado de Object.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual. (herdado de Object.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(herdado de Object.)

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(herdado de Object.)

O DetailsView controlar gera a ItemUpdating evento quando um botão de atualização (um botão com sua CommandName propriedade definida como "Atualização") dentro do controle é clicado, mas antes o DetailsView controle atualiza o registro.Isso permite que você forneça um manipulador de eventos que executa uma rotina personalizada, como a codificação de HTML os valores de um registro antes de atualizá-lo na fonte de dados, sempre que esse evento ocorre.

A DetailsViewUpdateEventArgs objeto é passado para o manipulador de eventos, que permite que você determine o valor de um argumento opcional de comando enviado para o DetailsView de controle e para indicar se a operação de atualização deve ser cancelada.Para determinar o valor do argumento command, use o CommandArgument propriedade.To cancel the update operation, set the Cancel property to true.Você também pode ler ou modificar os novos valores inseridos pelo usuário, usando o Keys e NewValues propriedades.O Keys propriedade contém campos de chave, enquanto o NewValues propriedade contém os campos não-chave.Se você precisar acessar os valores de campo não-chave original, use o OldValues propriedade.

Para obter mais informações sobre tratamento de eventos, consulte Consumindo Eventos.

Para obter uma lista dos valores de propriedade inicial de uma instância da DetailsViewUpdateEventArgs da classe, consulte a DetailsViewUpdateEventArgs construtor.

O exemplo de código a seguir demonstra como usar o DetailsViewUpdateEventArgs objeto passado para o manipulador de eventos para o ItemUpdating evento para validar os valores inseridos pelo usuário.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    void CustomerDetailsView_ItemUpdating(Object sender, 
      DetailsViewUpdateEventArgs e)
    {

        // Validate the field values entered by the user. This
        // example determines whether the user left any fields
        // empty. Use the NewValues property to access the new 
        // values entered by the user.
        ArrayList emptyFieldList = 
          ValidateFields((IOrderedDictionary)e.NewValues);

        if (emptyFieldList.Count > 0)
        {

            // The user left some fields empty. 
            // Display an error message.

            // Use the Keys property to retrieve the key field value.
            String keyValue = e.Keys["CustomerID"].ToString();

            MessageLabel.Text = 
              "You must enter a value for all fields of record " +
              keyValue + ".<br/>The following fields are missing:<br/><br/>";

            // Display the missing fields.
            foreach (String value in emptyFieldList)
            {
                // Use the OldValues property access the original
                // value of a field.
                MessageLabel.Text += value + " - Original Value = " +
                  e.OldValues[value].ToString() + "<br />";
            }

            // Cancel the update operation.
            e.Cancel = true;

        }
        else
        {
            // The field values passed validation. Clear the
            // error message label.
            MessageLabel.Text = "";
        }

    }

    ArrayList ValidateFields(IOrderedDictionary list)
    {

        // Create an ArrayList object to store the
        // names of any empty fields.
        ArrayList emptyFieldList = new ArrayList();

        // Iterate though the field values entered by
        // the user and check for an empty field. Empty
        // fields contain a null value.
        foreach (DictionaryEntry entry in list)
        {
            if (entry.Value == null)
            {
                // Add the field name to the ArrayList object.
                emptyFieldList.Add(entry.Key.ToString());
            }
        }

        return emptyFieldList;
    }

    void CustomerDetailsView_ModeChanging(Object sender, 
      DetailsViewModeEventArgs e)
    {
        if (e.CancelingEdit)
        {
            // The user canceled the update operation.
            // Clear the error message label.
            MessageLabel.Text = "";
        }
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DetailsViewUpdateEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>DetailsViewUpdateEventArgs Example</h3>

        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdating="CustomerDetailsView_ItemUpdating"
          onmodechanging="CustomerDetailsView_ModeChanging" 
          runat="server">

          <pagersettings position="Bottom"/> 

        </asp:detailsview>

        <br/>

        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>

        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address], 
            [City], [PostalCode], [Country] From [Customers]"
          updatecommand="Update [Customers] Set 
          [CompanyName]=@CompanyName, [Address]=@Address, 
          [City]=@City, [PostalCode]=@PostalCode, 
          [Country]=@Country 
          Where [CustomerID]=@CustomerID"
          connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>

      </form>
  </body>
</html>

.NET Framework
Disponível desde 2.0

Qualquer estático público (Compartilhado no Visual Basic) membros desde tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao topo
Mostrar: