GridViewUpdatedEventArgs 类    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 RowUpdated 事件提供数据。
public ref class GridViewUpdatedEventArgs : EventArgs
	public class GridViewUpdatedEventArgs : EventArgs
	type GridViewUpdatedEventArgs = class
    inherit EventArgs
	Public Class GridViewUpdatedEventArgs
Inherits EventArgs
		- 继承
 
示例
以下示例演示如何确定在更新操作期间是否发生异常。
<%@ 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_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
  {
    // Use the Exception property to determine whether an exception
    // occurred during the update operation.
    if (e.Exception == null)
    {
      // Sometimes an error might occur that does not raise an 
      // exception, but prevents the update operation from 
      // completing. Use the AffectedRows property to determine 
      // whether the record was actually updated. 
      if (e.AffectedRows == 1)
      {
        // Use the Keys property to get the value of the key field.
        String keyFieldValue = e.Keys["CustomerID"].ToString();
        // Display a confirmation message.
        Message.Text = "Record " + keyFieldValue +
          " updated successfully. ";
        // Display the new and original values.
        DisplayValues((OrderedDictionary)e.NewValues, (OrderedDictionary)e.OldValues);
      }
      else
      {
        // Display an error message.
        Message.Text = "An error occurred during the update operation.";
        // When an error occurs, keep the GridView
        // control in edit mode.
        e.KeepInEditMode = true;
      }
    }
    else
    {
      // Insert the code to handle the exception.
      Message.Text = e.Exception.Message;
      // Use the ExceptionHandled property to indicate that the 
      // exception is already handled.
      e.ExceptionHandled = true;
      e.KeepInEditMode = true;
    }
  }
  void DisplayValues(OrderedDictionary newValues, OrderedDictionary oldValues)
  {
    Message.Text += "<br/></br>";
    // Iterate through the new and old values. Display the
    // values on the page.
    for (int i = 0; i < oldValues.Count; i++)
    {
      Message.Text += "Old Value=" + oldValues[i].ToString() +
        ", New Value=" + newValues[i].ToString() + "<br/>";
    }
    Message.Text += "</br>";
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewUpdatedEventArgs 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"
        onrowupdated="CustomersGridView_RowUpdated" 
        runat="server">
      </asp:gridview>
      
      <br/>
      
      <asp:label id="Message"
        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="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_RowUpdated(sender As Object, e As GridViewUpdatedEventArgs)
  
    ' Use the Exception property to determine whether an exception
    ' occurred during the update operation.
    If e.Exception Is Nothing Then
    
      ' Sometimes an error might occur that does not raise an 
      ' exception, but prevents the update operation from 
      ' completing. Use the AffectedRows property to determine 
      ' whether the record was actually updated. 
      If e.AffectedRows = 1 Then
      
        ' Use the Keys property to get the value of the key field.
        Dim keyFieldValue As String = e.Keys("CustomerID").ToString()
        ' Display a confirmation message.
        Message.Text = "Record " & keyFieldValue & _
          " updated successfully. "
        ' Display the new and original values.
        DisplayValues(CType(e.NewValues, OrderedDictionary), CType(e.OldValues, OrderedDictionary))
      Else
      
        ' Display an error message.
        Message.Text = "An error occurred during the update operation."
        ' When an error occurs, keep the GridView
        ' control in edit mode.
        e.KeepInEditMode = True
        
      End If
    
    Else
    
      ' Insert the code to handle the exception.
      Message.Text = e.Exception.Message
      ' Use the ExceptionHandled property to indicate that the 
      ' exception is already handled.
      e.ExceptionHandled = True
      e.KeepInEditMode = True
    
    End If
  
  End Sub
  Sub DisplayValues(ByVal newValues As OrderedDictionary, ByVal oldValues As OrderedDictionary)
    Message.Text &= "<br/></br>"
    ' Iterate through the new and old values. Display the
    ' values on the page.
    Dim i As Integer
    For i = 0 To oldValues.Count - 1
    
      Message.Text &= "Old Value=" & oldValues(i).ToString() & _
        ", New Value=" & newValues(i).ToString() & "<br/>"
    Next
    Message.Text &= "</br>"
  End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewUpdatedEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewUpdatedEventArgs 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"
        onrowupdated="CustomersGridView_RowUpdated" 
        runat="server">
      </asp:gridview>
      
      <br/>
      
      <asp:label id="Message"
        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="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,控件将引发 RowUpdated 事件。  (“更新”按钮是属性设置为“Update”的 CommandName 按钮控件。) 每当发生此事件时,都可以执行自定义例程,例如检查更新操作的结果。
对象 GridViewUpdatedEventArgs 将传递给事件处理程序,这使你可以确定受影响的记录数以及可能发生的任何异常。 若要确定受更新操作影响的记录数,请使用 AffectedRows 属性。 若要确定是否发生任何异常,请使用 Exception 属性。 还可以通过设置 ExceptionHandled 属性来指示是否在事件处理程序中处理了异常。
若要访问更新记录的键字段值,请使用 Keys 属性。 可以使用 属性访问原始的非键字段值 OldValues 。 可以使用 属性访问更新的非键字段值 NewValues 。
默认情况下,控件在 GridView 更新操作后返回到只读模式。 处理更新操作期间发生的异常时,可以通过将 GridView 属性设置为 KeepInEditModetrue来使控件处于编辑模式。
有关如何处理事件的详细信息,请参阅 处理和引发事件。
有关 GridViewUpdatedEventArgs 类的实例的初始属性值列表,请参见 GridViewUpdatedEventArgs 构造函数。
构造函数
| GridViewUpdatedEventArgs(Int32, Exception) | 
		 初始化 GridViewUpdatedEventArgs 类的新实例。  | 
        	
属性
| AffectedRows | 
		 获取受更新操作影响的行数。  | 
        	
| Exception | 
		 获取更新操作过程中引发的异常(如果有)。  | 
        	
| ExceptionHandled | 
		 获取或设置一个值,该值指示是否在事件处理程序中处理了更新操作过程中引发的异常。  | 
        	
| KeepInEditMode | 
		 获取或设置一个值,该值指示在更新操作之后 GridView 控件是否应该继续处于编辑模式。  | 
        	
| Keys | 
		 获取一个字典,其中包含被更新记录的键字段名称/值对。  | 
        	
| NewValues | 
		 获取一个字典,该字典包含已更新记录的新字段的名称/值对。  | 
        	
| OldValues | 
		 获取一个字典,其中包含被更新记录的原始键字段名称/值对。  | 
        	
方法
| Equals(Object) | 
		 确定指定对象是否等于当前对象。 (继承自 Object) | 
        	
| GetHashCode() | 
		 作为默认哈希函数。 (继承自 Object) | 
        	
| GetType() | 
		 获取当前实例的 Type。 (继承自 Object) | 
        	
| MemberwiseClone() | 
		 创建当前 Object 的浅表副本。 (继承自 Object) | 
        	
| ToString() | 
		 返回表示当前对象的字符串。 (继承自 Object) |