DetailsViewUpdateEventArgs DetailsViewUpdateEventArgs DetailsViewUpdateEventArgs DetailsViewUpdateEventArgs Class

정의

ItemUpdating 이벤트에 대한 데이터를 제공합니다.Provides data for the ItemUpdating event.

public ref class DetailsViewUpdateEventArgs : System::ComponentModel::CancelEventArgs
public class DetailsViewUpdateEventArgs : System.ComponentModel.CancelEventArgs
type DetailsViewUpdateEventArgs = class
    inherit CancelEventArgs
Public Class DetailsViewUpdateEventArgs
Inherits CancelEventArgs
상속
DetailsViewUpdateEventArgsDetailsViewUpdateEventArgsDetailsViewUpdateEventArgsDetailsViewUpdateEventArgs

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 DetailsViewUpdateEventArgs 개체에 대 한 이벤트 처리기에 전달는 ItemUpdating 이벤트는 사용자가 입력 한 값을 확인 합니다.The following code example demonstrates how to use the DetailsViewUpdateEventArgs object passed to the event handler for the ItemUpdating event to validate the values entered by the user.


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


<%@ 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_ItemUpdating(ByVal sender As Object, _
    ByVal e As DetailsViewUpdateEventArgs)

    ' 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.
    Dim emptyFieldList As ArrayList = _
      ValidateFields(CType(e.NewValues, IOrderedDictionary))

    If emptyFieldList.Count > 0 Then

      ' The user left some fields empty. Display an error message.
      
      ' Use the Keys property to retrieve the key field value.
      Dim keyValue As String = 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.
      Dim value As String
      For Each value In emptyFieldList
      
        ' Use the OldValues property access the original value
        ' of a field.
        MessageLabel.Text &= value & " - Original Value = " & _
          e.OldValues(value).ToString() & "<br />"
        
      Next

      ' Cancel the update operation.
      e.Cancel = True

    Else
    
      ' The field values passed validation. Clear the
      ' error message label.
      MessageLabel.Text = ""
      
    End If

  End Sub

    Function ValidateFields(ByVal list As IOrderedDictionary) _
      As ArrayList
    
        ' Create an ArrayList object to store the
        ' names of any empty fields.
        Dim emptyFieldList As New ArrayList()

        ' Iterate though the field values entered by
        ' the user and check for an empty field. Empty
        ' fields contain a null value.
        Dim entry As DictionaryEntry
    
        For Each entry In list
    
            If entry.Value Is Nothing Then
      
                ' Add the field name to the ArrayList object.
                emptyFieldList.Add(entry.Key.ToString())
        
            End If
        Next

        Return emptyFieldList
  
    End Function

  Sub CustomerDetailsView_ModeChanging(ByVal sender As Object, ByVal e As DetailsViewModeEventArgs)
  
    If e.CancelingEdit Then
      
      ' The user canceled the update operation.
      ' Clear the error message label.
      MessageLabel.Text = ""
    
    End If
    
  End Sub

</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>

설명

DetailsView 를 발생 시킵니다를 ItemUpdating 때 업데이트 단추 이벤트 (단추를 사용 하 여 해당 CommandName "Update"로 설정 하는 속성) 컨트롤 내에서 클릭 하기 전에 DetailsView 레코드를 업데이트 합니다.The DetailsView control raises the ItemUpdating event when an Update button (a button with its CommandName property set to "Update") within the control is clicked, but before the DetailsView control updates the record. HTML encoding과 같은 사용자 지정 루틴을 수행 하는 이벤트 처리기를 제공할 수 있습니다이 이벤트가 발생할 때마다 데이터 원본에서 업데이트 하기 전에 레코드의 값입니다.This allows you to provide an event handler that performs a custom routine, such as HTML-encoding the values of a record before updating it in the data source, whenever this event occurs.

A DetailsViewUpdateEventArgs 선택적 명령 인수로 보낼의 값을 확인할 수 있는 이벤트 처리기에 전달 된 개체는는 DetailsView 제어 및 업데이트 작업을 취소 해야 하는지 여부를 나타내는입니다.A DetailsViewUpdateEventArgs object is passed to the event handler, which allows you to determine the value of an optional command argument sent to the DetailsView control and to indicate whether the update operation should be canceled. 명령 인수 값을 확인 하려면 사용 된 CommandArgument 속성입니다.To determine the value of the command argument, use the CommandArgument property. 업데이트 작업을 취소 하려면 합니다 Cancel 속성을 true입니다.To cancel the update operation, set the Cancel property to true. 또한 읽기 또는 사용 하 여 사용자가 입력 한 새 값을 수정할 수는 KeysNewValues 속성입니다.You can also read or modify the new values entered by the user by using the Keys and NewValues properties. 합니다 Keys 속성의 키 필드를 포함 하는 동안는 NewValues 속성 키가 아닌 필드를 포함 합니다.The Keys property contains the key fields, while the NewValues property contains the non-key fields. 키가 아닌 필드의 원래 값에 액세스 해야 할 경우 사용 된 OldValues 속성입니다.If you need to access the original non-key field values, use the OldValues property.

이벤트를 처리 하는 방법에 대 한 자세한 내용은 참조 하세요. 이벤트 처리 및 발생합니다.For more information about how to handle events, see Handling and Raising Events.

DetailsViewUpdateEventArgs 클래스의 인스턴스에 대한 초기 속성 값 목록은 DetailsViewUpdateEventArgs 생성자를 참조하십시오.For a list of initial property values for an instance of the DetailsViewUpdateEventArgs class, see the DetailsViewUpdateEventArgs constructor.

생성자

DetailsViewUpdateEventArgs(Object) DetailsViewUpdateEventArgs(Object) DetailsViewUpdateEventArgs(Object) DetailsViewUpdateEventArgs(Object)

DetailsViewUpdateEventArgs 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the DetailsViewUpdateEventArgs class.

속성

Cancel Cancel Cancel Cancel

이벤트를 취소해야 할지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the event should be canceled.

(Inherited from CancelEventArgs)
CommandArgument CommandArgument CommandArgument CommandArgument

DetailsView 컨트롤에 전달된 업데이트 작업에 대한 명령 인수를 가져옵니다.Gets the command argument for the update operation passed to the DetailsView control.

Keys Keys Keys Keys

업데이트할 레코드에 대한 키 필드 이름/값 쌍이 들어 있는 사전을 가져옵니다.Gets a dictionary that contains the key field name/value pairs for the record to update.

NewValues NewValues NewValues NewValues

업데이트할 레코드에 대한 필드의 새 이름/값 쌍이 들어 있는 사전을 가져옵니다.Gets a dictionary that contains the new field name/value pairs for the record to update.

OldValues OldValues OldValues OldValues

업데이트할 레코드에 대한 필드의 원래 이름/값 쌍이 들어 있는 사전을 가져옵니다.Gets a dictionary that contains the original field name/value pairs for the record to update.

메서드

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)

적용 대상

추가 정보