DetailsViewUpdatedEventArgs DetailsViewUpdatedEventArgs DetailsViewUpdatedEventArgs DetailsViewUpdatedEventArgs Class

Определение

Предоставляет данные для события ItemUpdated.Provides data for the ItemUpdated event.

public ref class DetailsViewUpdatedEventArgs : EventArgs
public class DetailsViewUpdatedEventArgs : EventArgs
type DetailsViewUpdatedEventArgs = class
    inherit EventArgs
Public Class DetailsViewUpdatedEventArgs
Inherits EventArgs
Наследование
DetailsViewUpdatedEventArgsDetailsViewUpdatedEventArgsDetailsViewUpdatedEventArgsDetailsViewUpdatedEventArgs

Примеры

В следующем примере кода демонстрируется использование DetailsViewUpdatedEventArgs объекта, переданного в обработчик событий для ItemUpdated событие, чтобы определить, произошло ли исключение во время операции обновления.The following code example demonstrates how to use the DetailsViewUpdatedEventArgs object passed to the event handler for the ItemUpdated event to determine whether an exception occurred during an update operation.


<%@ 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_ItemUpdated(Object sender, 
    DetailsViewUpdatedEventArgs e)
  {
    // Use the Exception property to determine whether an exception
    // occurred during the insert operation.
    if (e.Exception == null)
    {
      // Use the Values property to get the value entered by 
      // the user for the CompanyName field.
      String keyFieldValue = e.Keys["CustomerID"].ToString();

      // Display a confirmation message.
      MessageLabel.Text = "Record " + keyFieldValue + 
        " updated successfully. ";

      // Display the old and new values.
      DisplayValues(e);

      if (e.AffectedRows == 1)
      {
        MessageLabel.Text += e.AffectedRows.ToString() + 
          " record updated.";
      }
      else
      {
        MessageLabel.Text += e.AffectedRows.ToString() + 
          " records updated.";
      }
    }
    else
    {
      // Insert the code to handle the exception.
      MessageLabel.Text = e.Exception.Message;

      // Use the ExceptionHandled property to indicate that the 
      // exception is already handled.
      e.ExceptionHandled = true;

      // When an exception occurs, keep the DetailsView
      // control in edit mode.
      e.KeepInEditMode = true;
    }
  }

  void DisplayValues(DetailsViewUpdatedEventArgs e)
  {
    
    MessageLabel.Text += "<br/></br>";
    
    // Iterate through the OldValue and NewValues
    // properties and display the values.
    for (int i = 0; i < e.OldValues.Count; i++)
    {
      MessageLabel.Text += "Old Value=" + e.OldValues[i].ToString() +
        ", New Value=" + e.NewValues[i].ToString() + "<br/>";
    }

    MessageLabel.Text += "</br>";
    
  }
  
</script>

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

  <head runat="server">
    <title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DetailsViewUpdatedEventArgs Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdated="CustomerDetailsView_ItemUpdated"
          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>


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  
  Sub CustomerDetailsView_ItemUpdated(ByVal sender As Object, ByVal e As DetailsViewUpdatedEventArgs)
  
    ' Use the Exception property to determine whether an exception
    ' occurred during the insert operation.
    If e.Exception Is Nothing Then
    
      ' Use the Values property to get the value entered by 
      ' the user for the CompanyName field.
      Dim keyFieldValue As String = e.Keys("CustomerID").ToString()

      ' Display a confirmation message.
      MessageLabel.Text = "Record " & keyFieldValue & _
        " updated successfully. "

      ' Display the old and new values.
      DisplayValues(e)

      If e.AffectedRows = 1 Then

        MessageLabel.Text &= e.AffectedRows.ToString() & _
          " record updated."
      
      Else
      
        MessageLabel.Text &= e.AffectedRows.ToString() & _
          " records updated."
      
      End If
    
    Else
    
      ' Insert the code to handle the exception.
      MessageLabel.Text = e.Exception.Message

      ' Use the ExceptionHandled property to indicate that the 
      ' exception is already handled.
      e.ExceptionHandled = True

      ' When an exception occurs, keep the DetailsView
      ' control in edit mode.
      e.KeepInEditMode = True
    
    End If
    
  End Sub

  Sub DisplayValues(ByVal e As DetailsViewUpdatedEventArgs)
    
    MessageLabel.Text &= "<br/></br>"
    
    ' Iterate through the OldValue and NewValues
    ' properties and display the values.
    Dim i As Integer
        
    For i = 0 To e.OldValues.Count - 1
    
      MessageLabel.Text &= "Old Value=" & e.OldValues(i).ToString() & _
        ", New Value=" & e.NewValues(i).ToString() & "<br/>"
    
    Next

    MessageLabel.Text &= "</br>"
    
  End Sub
  
</script>

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

  <head runat="server">
    <title>DetailsViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DetailsViewUpdatedEventArgs Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          autogenerateeditbutton="true"  
          allowpaging="true"
          datakeynames="CustomerID" 
          onitemupdated="CustomerDetailsView_ItemUpdated"
          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>

Комментарии

DetailsView Управления вызывает ItemUpdated событие, когда кнопка обновления (кнопка с его CommandName , имеющим значение «Update») в элементе управления выбран, но после DetailsView управления обновляет запись.The DetailsView control raises the ItemUpdated event when an Update button (a button with its CommandName property set to "Update") within the control is clicked, but after the DetailsView control updates the record. Это позволяет предоставить обработчик событий, который выполняет пользовательские действия, такие как проверка результатов операции обновления, каждый раз, когда это событие происходит.This allows you to provide an event handler that performs a custom routine, such as checking the results of an update operation, whenever this event occurs.

Объект DetailsViewUpdatedEventArgs объект передается в обработчик событий, который позволяет определить количество обработанных записей и любые исключения, которые могли возникнуть.A DetailsViewUpdatedEventArgs object is passed to the event handler, which allows you to determine the number of records affected and any exceptions that might have occurred. Чтобы определить количество записей, затронутых операцией обновления, используйте AffectedRows свойство.To determine the number of records affected by the update operation, use the AffectedRows property. Используйте Exception свойства, чтобы определить, произошла ли все исключения.Use the Exception property to determine whether any exceptions occurred. Можно также указать ли исключение обработано в обработчике событий, задав ExceptionHandled свойство.You can also indicate whether the exception was handled in the event handler by setting the ExceptionHandled property. Если вам нужно получить доступ к значениям поля ключа для обновленной записи, используйте Keys свойство.If you need to access the key field values for the updated record, use the Keys property. Значения не содержащих ключи полей исходные и обновленные может осуществляться с использованием OldValues и NewValues свойства, соответственно.The original and updated non-key field values can be accessed using the OldValues and NewValues properties, respectively.

По умолчанию DetailsView управление возвращается в режим, определяемое DefaultMode свойства после выполнения операции обновления.By default, the DetailsView control returns to the mode specified by the DefaultMode property after an update operation. Чтобы сохранить DetailsView в режиме редактирования, назначьте KeepInEditMode свойства true.To keep the DetailsView control in edit mode, set the KeepInEditMode property to true.

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий.For more information about how to handle events, see Handling and Raising Events.

Список начальных значений свойств для экземпляра класса DetailsViewUpdatedEventArgs см. в описании конструктора DetailsViewUpdatedEventArgs.For a list of initial property values for an instance of the DetailsViewUpdatedEventArgs class, see the DetailsViewUpdatedEventArgs constructor.

Конструкторы

DetailsViewUpdatedEventArgs(Int32, Exception) DetailsViewUpdatedEventArgs(Int32, Exception) DetailsViewUpdatedEventArgs(Int32, Exception) DetailsViewUpdatedEventArgs(Int32, Exception)

Инициализирует новый экземпляр класса DetailsViewUpdatedEventArgs.Initializes a new instance of the DetailsViewUpdatedEventArgs class.

Свойства

AffectedRows AffectedRows AffectedRows AffectedRows

Возвращает количество строк, на которые повлияла операция обновления.Gets the number of rows affected by the update operation.

Exception Exception Exception Exception

Возвращает исключение, при его наличии, возникшее во время операции обновления.Gets the exception (if any) that was raised during the update operation.

ExceptionHandled ExceptionHandled ExceptionHandled ExceptionHandled

Получает или задает значение, позволяющее определить, обработано ли исключение, возникшее во время операции обновления, в обработчике событий.Gets or sets a value indicating whether an exception that was raised during the update operation was handled in the event handler.

KeepInEditMode KeepInEditMode KeepInEditMode KeepInEditMode

Получает или задает значение, позволяющее определить, должен ли элемент управления DetailsView оставаться в режиме редактирования после выполнения операции обновления.Gets or sets a value indicating whether the DetailsView control should remain in edit mode after an update operation.

Keys Keys Keys Keys

Возвращает словарь, содержащий пары "имя-значение" поля ключа для обновленной записи.Gets a dictionary that contains the key field name/value pairs for the updated record.

NewValues NewValues NewValues NewValues

Возвращает словарь, содержащий пары "имя-значение" нового поля для обновленной записи.Gets a dictionary that contains the new field name/value pairs for the updated record.

OldValues OldValues OldValues OldValues

Возвращает словарь, содержащий пары "имя-значение" исходного поля для обновленной записи.Gets a dictionary that contains the original field name/value pairs for the updated record.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Применяется к

Дополнительно