DetailsViewUpdateEventArgs Třída

Definice

Poskytuje data pro událost ItemUpdating.

C#
public class DetailsViewUpdateEventArgs : System.ComponentModel.CancelEventArgs
Dědičnost
DetailsViewUpdateEventArgs

Příklady

Následující příklad kódu ukazuje, jak použít DetailsViewUpdateEventArgs objekt předaný obslužné rutině události pro ItemUpdating událost k ověření hodnot zadaných uživatelem.

ASP.NET (C#)

<%@ 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>

Poznámky

Ovládací DetailsView prvek vyvolá ItemUpdating událost při kliknutí na tlačítko Aktualizovat (tlačítko s CommandName vlastností nastavenou na "Update") v rámci ovládacího prvku, ale před tím DetailsView , než ovládací prvek aktualizuje záznam. To vám umožní poskytnout obslužnou rutinu události, která provádí vlastní rutinu, například kódování HTML hodnot záznamu před aktualizací ve zdroji dat, kdykoli dojde k této události.

DetailsViewUpdateEventArgs Objekt je předán obslužné rutině události, která umožňuje určit hodnotu volitelného argumentu příkazu odeslaného DetailsView ovládacímu prvku a určit, zda má být operace aktualizace zrušena. K určení hodnoty argumentu příkazu použijte CommandArgument vlastnost . Pokud chcete operaci aktualizace zrušit, nastavte Cancel vlastnost na true. Pomocí vlastností a NewValues můžete také přečíst nebo upravit nové hodnoty zadané uživatelemKeys. Vlastnost Keys obsahuje pole s klíči, zatímco NewValues vlastnost obsahuje pole, která nejsou klíčem. Pokud potřebujete získat přístup k původním hodnotám polí bez klíče, použijte OldValues vlastnost .

Další informace o zpracování událostí najdete v tématu Zpracování a vyvolávání událostí.

Seznam počátečních hodnot vlastností pro instanci DetailsViewUpdateEventArgs třídy naleznete v konstruktoru DetailsViewUpdateEventArgs .

Konstruktory

DetailsViewUpdateEventArgs(Object)

Inicializuje novou instanci DetailsViewUpdateEventArgs třídy .

Vlastnosti

Cancel

Získá nebo nastaví hodnotu označující, zda má být událost zrušena.

(Zděděno od CancelEventArgs)
CommandArgument

Získá argument příkazu pro operaci aktualizace předanou ovládacímu DetailsView prvku.

Keys

Získá slovník, který obsahuje klíč pole název/hodnota páry pro záznam k aktualizaci.

NewValues

Získá slovník, který obsahuje nové dvojice název pole a hodnota pro záznam k aktualizaci.

OldValues

Získá slovník, který obsahuje původní pole název/hodnota dvojice pro záznam k aktualizaci.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Produkt Verze
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Viz také