GridView.RowUpdated 事件

定義

按一下資料列的 [更新] 按鈕時發生 (但在 GridView 控制項更新資料列之後)。

public:
 event System::Web::UI::WebControls::GridViewUpdatedEventHandler ^ RowUpdated;
public event System.Web.UI.WebControls.GridViewUpdatedEventHandler RowUpdated;
member this.RowUpdated : System.Web.UI.WebControls.GridViewUpdatedEventHandler 
Public Custom Event RowUpdated As GridViewUpdatedEventHandler 

事件類型

範例

下列範例示範如何使用 RowUpdated 事件來檢查更新作業的結果。 隨即顯示訊息,向使用者指出作業是否成功。


<%@ 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)
  {
    
    // Indicate whether the update operation succeeded.
    if(e.Exception == null)
    {
      Message.Text = "Row updated successfully.";
    }
    else
    {
      e.ExceptionHandled = true;
      Message.Text = "An error occurred while attempting to update the row.";
    }
    
  }

  void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e)
  {
        
    // The update operation was canceled. Clear the message label.
    Message.Text = "";
    
  }

  void CustomersGridView_RowEditing(Object sender, GridViewEditEventArgs e)
  {
    // The GridView control is entering edit mode. Clear the message label.
    Message.Text = "";
  }
    

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowUpdated Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView RowUpdated Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"          
        runat="server"/>
                
      <br/>
            
      <!-- 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"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit"
        onrowediting="CustomersGridView_RowEditing"   
        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_RowUpdated(ByVal sender As Object, ByVal e As GridViewUpdatedEventArgs)
    
    ' Indicate whether the update operation succeeded.
    If e.Exception Is Nothing Then
    
      Message.Text = "Row updated successfully."
    
    Else
    
      e.ExceptionHandled = True
      Message.Text = "An error occurred while attempting to update the row."
    
    End If
    
  End Sub

  Sub CustomersGridView_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
        
    ' The update operation was canceled. Clear the message label.
    Message.Text = ""
    
  End Sub

  Sub CustomersGridView_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)
  
    ' The GridView control is entering edit mode. Clear the message label.
    Message.Text = ""
    
  End Sub
    

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowUpdated Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView RowUpdated Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"          
        runat="server"/>
                
      <br/>
            
      <!-- 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"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit"
        onrowediting="CustomersGridView_RowEditing"   
        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>

備註

RowUpdated按一下資料列的 [更新] 按鈕,但在控制項更新資料列之後 GridView ,就會引發 事件。 這可讓您提供執行自訂常式的事件處理方法,例如每當發生此事件時檢查更新作業的結果。

GridViewUpdatedEventArgs物件會傳遞至事件處理方法,可讓您判斷受影響的資料列數目,以及可能發生的任何例外狀況。 您也可以藉由設定 ExceptionHandled 物件的 屬性 GridViewUpdatedEventArgs ,指出事件處理方法中是否已處理例外狀況。

如需如何處理事件的詳細資訊,請參閱 處理和引發事件

適用於

另請參閱