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>

注釈

コントロールは、コントロールItemUpdated内で更新ボタンCommandName (プロパティが "Update" に設定されているボタン) をクリックしたときに、コントロールDetailsViewがレコードを更新した後に、イベントを発生させます。 DetailsViewThe 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. 元のフィールド値と更新された非キーフィールド値にOldValuesNewValues 、それぞれプロパティとプロパティを使用してアクセスできます。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)

適用対象

こちらもご覧ください