ListViewInsertedEventArgs ListViewInsertedEventArgs ListViewInsertedEventArgs ListViewInsertedEventArgs Class

Определение

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

public ref class ListViewInsertedEventArgs : EventArgs
public class ListViewInsertedEventArgs : EventArgs
type ListViewInsertedEventArgs = class
    inherit EventArgs
Public Class ListViewInsertedEventArgs
Inherits EventArgs
Наследование
ListViewInsertedEventArgsListViewInsertedEventArgsListViewInsertedEventArgsListViewInsertedEventArgs

Примеры

В следующем примере показано, ListViewInsertedEventArgs как использовать объект, передаваемый обработчику ItemInserted для события.The following example shows how to use the ListViewInsertedEventArgs object that is passed to the handler for the ItemInserted event.

Важно!

В этом примере имеется текстовое поле, принимающее вводимые пользователем данные, что является потенциальной угрозой безопасности.This example has a text box that accepts user input, which is a potential security threat. По умолчанию данные, вводимые пользователем на веб-страницах ASP.NET, проверяются на наличие скриптов и HTML-элементов.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Дополнительные сведения см. в разделе Общие сведения об использовании сценариев.For more information, see Script Exploits Overview.

<%@ 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">

  //<Snippet3>
  void ContactsListView_ItemInserted(Object sender, ListViewInsertedEventArgs e)
  {
    if (e.Exception != null)
    {
      if (e.AffectedRows == 0)
      {
        e.KeepInInsertMode = true;
        Message.Text = "An exception occurred inserting the new Contact. " +
          "Please verify your values and try again.";
      }
      else
        Message.Text = "An exception occurred inserting the new Contact. " +
          "Please verify the values in the newly inserted item.";

      e.ExceptionHandled = true;
    }
  }
  //</Snippet3>

  protected void Page_Load(object sender, EventArgs e)
  {
    Message.Text = "";
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView.ItemInserted Example</title>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>ListViewItemInserted Example</h3>
            
      <asp:Label ID="Message"
        ForeColor="Red"          
        runat="server"/>
      <br/>
      
      <asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        DataKeyNames="ContactID"
        OnItemInserted="ContactsListView_ItemInserted"  
        InsertItemPosition="LastItem"
        runat="server">
        <LayoutTemplate>
          <table cellpadding="2" border="1" runat="server" id="tblContacts" width="640px">
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
            <Fields>
              <asp:NextPreviousPagerField 
                ShowFirstPageButton="true" ShowLastPageButton="true"
                FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|"
                NextPageText=" &gt; " PreviousPageText=" &lt; " />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td valign="top">
              <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
              <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
            </td>
            <td>&nbsp;
              <asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
            </td>
          </tr>
        </ItemTemplate>
        <InsertItemTemplate>
          <tr style="background-color:#D3D3D3">
            <td valign="top">
              <asp:Label runat="server" ID="FirstNameLabel" 
                AssociatedControlID="FirstNameTextBox" Text="First Name"/>
              <asp:TextBox ID="FirstNameTextBox" runat="server" 
                Text='<%#Bind("FirstName") %>' /><br />
              <asp:Label runat="server" ID="LastNameLabel" 
                AssociatedControlID="LastNameTextBox" Text="Last Name" />
              <asp:TextBox ID="LastNameTextBox" runat="server" 
                Text='<%#Bind("LastName") %>' /><br />
              <asp:Label runat="server" ID="EmailLabel" 
                AssociatedControlID="EmailTextBox" Text="Email" />
              <asp:TextBox ID="EmailTextBox" runat="server" 
                Text='<%#Bind("EmailAddress") %>' />
            </td>
            <td>
              <asp:LinkButton ID="InsertButton" runat="server" 
                CommandName="Insert" Text="Insert" />
            </td>
          </tr>
        </InsertItemTemplate>
      </asp:ListView>

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress] 
          FROM Person.Contact"
        InsertCommand="INSERT INTO Person.Contact
          ([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt]) 
          Values(@FirstName, @LastName, @EmailAddress, '', '');
          SELECT @ContactID = SCOPE_IDENTITY()">
        <InsertParameters>
          <asp:Parameter Name="FirstName" />
          <asp:Parameter Name="LastName" />
          <asp:Parameter Name="EmailAddress" />
          <asp:Parameter Name="ContactID" Type="Int32" Direction="Output" />
        </InsertParameters>
      </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">

  '<Snippet3>
  Sub ContactsListView_ItemInserted(ByVal sender As Object, ByVal e As ListViewInsertedEventArgs)

    If e.Exception IsNot Nothing Then

      If e.AffectedRows = 0 Then
        e.KeepInInsertMode = True
        Message.Text = "An exception occurred inserting the new Contact. " & _
          "Please verify your values and try again."
      Else
        Message.Text = "An exception occurred inserting the new Contact. " & _
          "Please verify the values in the newly inserted item."
      End If

      e.ExceptionHandled = True
    End If
  End Sub
  '</Snippet3>

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Message.Text = ""
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView.ItemInserted Example</title>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>ListViewItemInserted Example</h3>
            
      <asp:Label ID="Message"
        ForeColor="Red"          
        runat="server"/>
      <br/>
      
      <asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        DataKeyNames="ContactID"
        OnItemInserted="ContactsListView_ItemInserted"  
        InsertItemPosition="LastItem"
        runat="server">
        <LayoutTemplate>
          <table cellpadding="2" border="1" runat="server" id="tblContacts" width="640px">
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="PeopleDataPager" PageSize="12">
            <Fields>
              <asp:NextPreviousPagerField 
                ShowFirstPageButton="true" ShowLastPageButton="true"
                FirstPageText="|&lt;&lt; " LastPageText=" &gt;&gt;|"
                NextPageText=" &gt; " PreviousPageText=" &lt; " />
            </Fields>
          </asp:DataPager>
        </LayoutTemplate>
        <ItemTemplate>
          <tr runat="server">
            <td valign="top">
              <asp:Label ID="FirstNameLabel" runat="server" Text='<%#Eval("FirstName") %>' />
              <asp:Label ID="LastNameLabel" runat="server" Text='<%#Eval("LastName") %>' />
            </td>
            <td>&nbsp;
              <asp:Label ID="EmailLabel" runat="server" Text='<%#Eval("EmailAddress") %>' />
            </td>
          </tr>
        </ItemTemplate>
        <InsertItemTemplate>
          <tr style="background-color:#D3D3D3">
            <td valign="top">
              <asp:Label runat="server" ID="FirstNameLabel" 
                AssociatedControlID="FirstNameTextBox" Text="First Name"/>
              <asp:TextBox ID="FirstNameTextBox" runat="server" 
                Text='<%#Bind("FirstName") %>' /><br />
              <asp:Label runat="server" ID="LastNameLabel" 
                AssociatedControlID="LastNameTextBox" Text="Last Name" />
              <asp:TextBox ID="LastNameTextBox" runat="server" 
                Text='<%#Bind("LastName") %>' /><br />
              <asp:Label runat="server" ID="EmailLabel" 
                AssociatedControlID="EmailTextBox" Text="Email" />
              <asp:TextBox ID="EmailTextBox" runat="server" 
                Text='<%#Bind("EmailAddress") %>' />
            </td>
            <td>
              <asp:LinkButton ID="InsertButton" runat="server" 
                CommandName="Insert" Text="Insert" />
            </td>
          </tr>
        </InsertItemTemplate>
      </asp:ListView>

      <!-- This example uses Microsoft SQL Server and connects      -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET    -->
      <!-- expression to retrieve the connection string value       -->
      <!-- from the Web.config file.                                -->
      <asp:SqlDataSource ID="ContactsDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [ContactID], [FirstName], [LastName], [EmailAddress] 
          FROM Person.Contact"
        InsertCommand="INSERT INTO Person.Contact
          ([FirstName], [LastName], [EmailAddress], [PasswordHash], [PasswordSalt]) 
          Values(@FirstName, @LastName, @EmailAddress, '', '');
          SELECT @ContactID = SCOPE_IDENTITY()">
        <InsertParameters>
          <asp:Parameter Name="FirstName" />
          <asp:Parameter Name="LastName" />
          <asp:Parameter Name="EmailAddress" />
          <asp:Parameter Name="ContactID" Type="Int32" Direction="Output" />
        </InsertParameters>
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>

Комментарии

Элемент управления InsertItemTemplate вызывает событие при щелчке кнопки вставки в ListView шаблоне и после того, как элемент управления обновляет запись в источнике данных. ItemInserted ListViewThe ListView control raises the ItemInserted event when an Insert button in the InsertItemTemplate template is clicked, and after the ListView control updates the record at the data source. (Кнопка вставки — это кнопка, свойство CommandName которой имеет значение Insert.) Это ItemInserted событие позволяет выполнить пользовательское действие, например получение автоматически созданных значений из базы данных для вставленного элемента.(An Insert button is a button whose CommandName property is set to "Insert".) The ItemInserted event enables you to perform a custom action, such as retrieving auto-generated values from the database for the inserted item.

ListViewInsertedEventArgs Объект передается методу обработки событий, который позволяет определить количество вставленных элементов и все исключения, которые могли произойти.A ListViewInsertedEventArgs object is passed to the event-handling method, which enables you to determine the number of items inserted and any exceptions that might have occurred. Чтобы определить количество элементов, затронутых операцией INSERT, используйте AffectedRows свойство.To determine the number of items affected by the insert operation, use the AffectedRows property. Используйте свойство Exception , чтобы определить, произошло ли исключение.Use the Exception property to determine whether an exception occurred. Можно также указать, было ли исключение обработано в методе обработки событий, задав ExceptionHandled свойство.You can also indicate whether the exception was handled in the event-handling method by setting the ExceptionHandled property. Если необходимо получить доступ к значениям полей вставленного элемента, которые были отправлены в источник данных, используйте Values свойство.If you have to access the field values of the inserted item that were sent to the data source, use the Values property.

По умолчанию ListView элемент управления очищает InsertItemTemplate шаблон после операции вставки, что позволяет пользователям добавлять значения для нового вставляемого элемента.By default, the ListView control clears the InsertItemTemplate template after an insert operation, which enables users to add values for a new item to be inserted. Если во время операции вставки возникает исключение, можно удержать ListView элемент управления в режиме вставки, KeepInInsertMode задав для trueсвойства значение.If an exception occurs during the insert operation, you can keep the ListView control in insert mode by setting the KeepInInsertMode property to true. При этом InsertItemTemplate шаблон повторно привязывается к значениям из предыдущей попытки вставить элемент.This rebinds the InsertItemTemplate template to the values from the previous attempt to insert an item.

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

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

ListViewInsertedEventArgs(Int32, Exception) ListViewInsertedEventArgs(Int32, Exception) ListViewInsertedEventArgs(Int32, Exception) ListViewInsertedEventArgs(Int32, Exception)

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

Свойства

AffectedRows AffectedRows AffectedRows AffectedRows

Возвращает количество строк, на которые повлияла операция вставки.Gets the number of rows affected by the insert operation.

Exception Exception Exception Exception

Возвращает исключение (если есть), возникшее во время операции вставки.Gets the exception (if any) that was raised during the insert operation.

ExceptionHandled ExceptionHandled ExceptionHandled ExceptionHandled

Получает или задает значение, позволяющее определить, обработано ли исключение, возникшее во время операции вставки, в обработчике событий.Gets or sets a that indicates whether an exception that was raised during the insert operation was handled in the event handler.

KeepInInsertMode KeepInInsertMode KeepInInsertMode KeepInInsertMode

Получает или задает значение, которое позволяет определить, сохраняются ли значения, введенные пользователем, для элементов управления в шаблоне InsertItemTemplate.Gets or sets a value that indicates whether the user's input values are preserved for the controls inside the InsertItemTemplate template.

Values Values Values Values

Возвращает пары имен и значений полей для вставленной записи.Gets field name/value pairs for the inserted record.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

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

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