DetailsViewInsertEventArgs Класс

Определение

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

public ref class DetailsViewInsertEventArgs : System::ComponentModel::CancelEventArgs
public class DetailsViewInsertEventArgs : System.ComponentModel.CancelEventArgs
type DetailsViewInsertEventArgs = class
    inherit CancelEventArgs
Public Class DetailsViewInsertEventArgs
Inherits CancelEventArgs
Наследование
DetailsViewInsertEventArgs

Примеры

В следующем примере кода показано, как использовать DetailsViewInsertEventArgs объект, передаваемый обработчику событий для ItemInserting события, чтобы отменить операцию вставки.The following code example demonstrates how to use the DetailsViewInsertEventArgs object passed to the event handler for the ItemInserting event to cancel an insert operation.


<%@ 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_ItemInserting(Object sender, 
    DetailsViewInsertEventArgs e)
  {
    // Use the Values property to retrieve the key field value.
    String keyValue = e.Values["CustomerID"].ToString();

    // Insert the record only if the key field is four characters
    // long; otherwise, cancel the insert operation.
    if (keyValue.Length == 4)
    {
      // Change the key field value to upper case before inserting 
      // the record in the data source.
      e.Values["CustomerID"] = keyValue.ToUpper();

      MessageLabel.Text = "";
    }
    else
    {
      MessageLabel.Text = "The key field must have four digits.";
      e.Cancel = true;
    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsViewInsertEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DetailsViewInsertEventArgs Example</h3>
                
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateinsertbutton="true"  
          autogeneraterows="true"
          allowpaging="true"
          oniteminserting="CustomerDetailsView_ItemInserting" 
          runat="server">
               
          <fieldheaderstyle backcolor="Navy"
            forecolor="White"/>
                    
        </asp:detailsview>
        
        <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]"
          insertcommand="INSERT INTO [Customers]([CustomerID], 
            [CompanyName], [Address], [City], [PostalCode], 
            [Country]) VALUES (@CustomerID, @CompanyName, @Address, 
            @City, @PostalCode, @Country)"
          connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>
            
      </form>
  </body>
</html>


<%@ Page language="VB" autoeventwireup="false" %>

<!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_ItemInserting(ByVal sender As Object, _
    ByVal e As DetailsViewInsertEventArgs) _
    Handles CustomerDetailsView.ItemInserting
  
    ' Use the Values property to retrieve the key field value.
    Dim keyValue As String = e.Values("CustomerID").ToString()

    ' Insert the record only if the key field is four characters
    ' long; otherwise, cancel the insert operation.
    If keyValue.Length = 4 Then
    
      ' Change the key field value to upper case before inserting 
      ' the record in the data source.
      e.Values("CustomerID") = keyValue.ToUpper()
      
      MessageLabel.Text = ""
    
    Else
    
      MessageLabel.Text = "The key field must have four digits."
      e.Cancel = True
    
    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsViewInsertEventArgs Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>DetailsViewInsertEventArgs Example</h3>
                
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateinsertbutton="true"  
          autogeneraterows="true"
          allowpaging="true"
          oniteminserting="CustomerDetailsView_ItemInserting" 
          runat="server">
               
          <fieldheaderstyle backcolor="Navy"
            forecolor="White"/>
                    
        </asp:detailsview>
        
        <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]"
          insertcommand="INSERT INTO [Customers]([CustomerID], 
            [CompanyName], [Address], [City], [PostalCode], 
            [Country]) VALUES (@CustomerID, @CompanyName, @Address, 
            @City, @PostalCode, @Country)"
          connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
          runat="server"/>
            
      </form>
  </body>
</html>

Комментарии

DetailsViewЭлемент управления вызывает ItemInserting событие, когда нажата кнопка вставки (кнопка со свойством, равным CommandName INSERT) в элементе управления, но до DetailsView вставки записи в элемент управления.The DetailsView control raises the ItemInserting event when an Insert button (a button with its CommandName property set to "Insert") within the control is clicked, but before the DetailsView control inserts the record. Это позволяет предоставить обработчик событий, выполняющий пользовательскую подпрограммы, например HTML-кодирование значений записи перед вставкой в источник данных, при возникновении этого события.This allows you to provide an event handler that performs a custom routine, such as HTML-encoding the values of a record before inserting it in the data source, whenever this event occurs.

DetailsViewInsertEventArgsОбъект передается в обработчик событий, который позволяет определить значение необязательного аргумента команды, отправляемого в DetailsView элемент управления, и указать, что операция вставки должна быть отменена.A DetailsViewInsertEventArgs 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 that the insert operation should be canceled. Чтобы определить значение аргумента команды, используйте CommandArgument свойство.To determine the value of the command argument, use the CommandArgument property. Чтобы отменить операцию вставки, присвойте Cancel свойству значение true .To cancel the insert operation, set the Cancel property to true. Можно также считывать или изменять значения полей для новой записи с помощью Values Свойства.You can also read or modify the field values for the new record by using the Values property.

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

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

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

DetailsViewInsertEventArgs(Object)

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

Свойства

Cancel

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

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

Возвращает аргумент команды для операции вставки, переданный элементу управления DetailsView.Gets the command argument for the insert operation passed to the DetailsView control.

Values

Получает словарь, содержащий пары "имя/значение" ключевых полей для вставляемой записи.Gets a dictionary that contains the field name/value pairs for the record to insert.

Методы

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)

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

См. также раздел