다음을 통해 공유


GridViewUpdateEventArgs 클래스

정의

RowUpdating 이벤트에 대한 데이터를 제공합니다.

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

예제

다음 예제에서는 데이터 원본을 업데이트하기 전에 이벤트 처리 메서드에 전달된 개체를 사용하여 GridViewUpdateEventArgs 사용자가 제공한 모든 값을 HTML로 인코딩하는 방법을 보여 줍니다.


<%@ 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 CustomersGridView_RowUpdating(Object sender, GridViewUpdateEventArgs e)
  {
     
    // Iterate through the NewValues collection and HTML encode all 
    // user-provided values before updating the data source.
    foreach (DictionaryEntry entry in e.NewValues)
    {
    
      e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString());
    
    }
        
  }
       
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowUpdating Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView RowUpdating Example</h3>
            
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowupdating="CustomersGridView_RowUpdating"  
        runat="server">
      </asp:gridview>
            
      <!-- 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="CustomersSqlDataSource"  
        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">
      </asp:sqldatasource>
            
    </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 CustomersGridView_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs)
    
    ' Use the CopyTo method to copy the DictionaryEntry objects in the 
    ' NewValues collection to an array.
    Dim records(e.NewValues.Count - 1) As DictionaryEntry
    e.NewValues.CopyTo(records, 0)
    
    ' Iterate through the array and HTML encode all user-provided values 
    ' before updating the data source.
    Dim entry As DictionaryEntry
    For Each entry In records
            
      e.NewValues(entry.Key) = Server.HtmlEncode(entry.Value.ToString())
      
    Next
        
  End Sub
       
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowUpdating Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView RowUpdating Example</h3>
            
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowupdating="CustomersGridView_RowUpdating"  
        runat="server">
      </asp:gridview>
            
      <!-- 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="CustomersSqlDataSource"  
        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">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

설명

컨트롤은 GridView 행의 업데이트 단추를 클릭할 때 컨트롤이 행을 GridView 업데이트하기 전에 이벤트를 발생 RowUpdating 합니다. 이렇게 하면 이 이벤트가 발생할 때마다 업데이트 작업 취소와 같은 사용자 지정 루틴을 수행하는 이벤트 처리 메서드를 제공할 수 있습니다.

GridViewUpdateEventArgs 개체가 이벤트 처리 메서드에 전달되므로 현재 행의 인덱스를 확인하고 업데이트 작업을 취소해야 함을 나타낼 수 있습니다. 업데이트 작업을 취소하려면 개체trueCancelGridViewUpdateEventArgs 속성을 .로 설정합니다. 필요한 경우 값이 데이터 원본에 Keys전달되기 전에 , OldValuesNewValues 컬렉션을 조작할 수도 있습니다. 이러한 컬렉션을 사용하는 일반적인 방법은 사용자가 제공한 값을 데이터 원본에 저장하기 전에 HTML로 인코딩하는 것입니다. 이렇게 하면 스크립트 삽입 공격을 방지할 수 있습니다.

이벤트를 처리하는 방법에 대한 자세한 내용은 이벤트 처리 및 발생을 참조하세요.

인스턴스 GridViewUpdateEventArgs의 초기 속성 값 목록은 생성자를 참조 GridViewSelectEventArgs 하세요.

생성자

Name Description
GridViewUpdateEventArgs(Int32)

GridViewUpdateEventArgs 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
Cancel

이벤트를 취소해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 CancelEventArgs)
Keys

업데이트할 행의 기본 키를 나타내는 필드 이름/값 쌍의 사전을 가져옵니다.

NewValues

업데이트할 행에 있는 키가 아닌 필드 이름/값 쌍의 수정된 값을 포함하는 사전을 가져옵니다.

OldValues

업데이트할 행의 원래 필드 이름/값 쌍이 포함된 사전을 가져옵니다.

RowIndex

업데이트할 행의 인덱스입니다.

메서드

Name Description
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보