GridViewUpdateEventArgs Класс

Определение

Предоставляет данные для события RowUpdating.Provides data for the RowUpdating event.

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-кодирование всех значений, предоставленных пользователем, перед обновлением источника данных.The following example demonstrates how to use the GridViewUpdateEventArgs object passed to the event-handling method to HTML-encode all values supplied by the user before updating the data source.


<%@ 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 элемент управления обновит строку. RowUpdating GridViewThe GridView control raises the RowUpdating event when a row's Update button is clicked, but before the GridView control updates the row. Это позволяет предоставить метод обработки событий, выполняющий пользовательскую подпрограммы, например отмену операции обновления, при возникновении этого события.This allows you to provide an event-handling method that performs a custom routine, such as canceling the update operation, whenever this event occurs.

GridViewUpdateEventArgs Объект передается в метод обработки событий, который позволяет определить индекс текущей строки и указать, что операция обновления должна быть отменена.A GridViewUpdateEventArgs object is passed to the event-handling method, which allows you to determine the index of the current row and to indicate that the update operation should be canceled. Чтобы отменить операцию обновления, присвойте Cancel свойству GridViewUpdateEventArgs объекта trueзначение.To cancel the update operation, set the Cancel property of the GridViewUpdateEventArgs object to true. При необходимости можно также манипулировать Keysколлекциями, NewValues OldValuesи, прежде чем значения передаются в источник данных.You can also manipulate the Keys, OldValues, and NewValues collections, if necessary, before the values are passed to the data source. Распространенным способом использования этих коллекций является HTML-кодирование значений, предоставленных пользователем, до их сохранения в источнике данных.A common way to use these collections is to HTML-encode the values supplied by the user before they are stored in the data source. Это помогает предотвратить атаки путем внедрения скриптов.This helps to prevent script injection attacks.

Дополнительные сведения об обработке событий см. в разделе обработка и вызов событий.For more information about how to handle events, see Handling and Raising Events.

Список начальных значений свойств для экземпляра GridViewUpdateEventArgsсм. в GridViewSelectEventArgs разделе Конструктор.For a list of initial property values for an instance of GridViewUpdateEventArgs, see the GridViewSelectEventArgs constructor.

Конструкторы

GridViewUpdateEventArgs(Int32)

Инициализирует новый экземпляр класса GridViewUpdateEventArgs.Initializes a new instance of the GridViewUpdateEventArgs class.

Свойства

Cancel

Возвращает или задает значение, показывающее, следует ли отменить событие.Gets or sets a value indicating whether the event should be canceled.

(Унаследовано от CancelEventArgs)
Keys

Возвращает словарь пар "имя-значение", которые представляют первичный ключ обновляемой строки.Gets a dictionary of field name/value pairs that represent the primary key of the row to update.

NewValues

Возвращает словарь, содержащий проверенные значения пар "имя-значение" не содержащего ключ поля в обновляемой строке.Gets a dictionary containing the revised values of the non-key field name/value pairs in the row to update.

OldValues

Возвращает словарь, содержащий пары "имя-значение" исходных полей в обновляемой строке.Gets a dictionary containing the original field name/value pairs in the row to update.

RowIndex

Возвращает индекс обновляемой строки.Gets the index of the row being updated.

Методы

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Применяется к

Дополнительно