Questa documentazione è stata archiviata e non viene gestita.

Classe ListViewInsertedEventArgs

Aggiornamento: novembre 2007

Fornisce i dati per l'evento ItemInserted.

Spazio dei nomi:  System.Web.UI.WebControls
Assembly:  System.Web.Extensions (in System.Web.Extensions.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class ListViewInsertedEventArgs : EventArgs
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public class ListViewInsertedEventArgs extends EventArgs
public class ListViewInsertedEventArgs extends EventArgs

Il controllo ListView genera l'evento ItemInserted quando viene fatto clic su un pulsante Insert nel modello InsertItemTemplate e dopo che il controllo ListView ha aggiornato il record nell'origine dati. Il pulsante Insert è un pulsante la cui proprietà CommandName è impostata su "Insert". L'evento ItemInserted consente di eseguire un'azione personalizzata, ad esempio il recupero dal database dei valori generati automaticamente per l'elemento inserito.

Un oggetto ListViewInsertedEventArgs viene passato al metodo di gestione degli eventi ed è quindi possibile determinare il numero di elementi inseriti e le eccezioni eventualmente generate. Per determinare il numero di elementi interessati dall'operazione di inserimento, utilizzare la proprietà AffectedRows. Per determinare se è stata generata un'eccezione, utilizzare la proprietà Exception. È anche possibile indicare se l'eccezione è stata gestita nel metodo di gestione degli eventi mediante l'impostazione della proprietà ExceptionHandled. Se è necessario accedere ai valori dei campi dell'elemento inserito che sono stati inviati all'origine dati, utilizzare la proprietà Values.

Per impostazione predefinita, il controllo ListView cancella il modello InsertItemTemplate dopo un'operazione di inserimento ed è quindi possibile aggiungere valori per un nuovo elemento da inserire. Se viene generata un'eccezione durante l'operazione di inserimento, è possibile mantenere il controllo ListView in modalità di inserimento impostando la proprietà KeepInInsertMode su true. In questo modo il modello InsertItemTemplate viene nuovamente associato ai valori del precedente tentativo di inserimento di un elemento.

Per un elenco dei valori iniziali delle proprietà per un'istanza della classe ListViewInsertedEventArgs, vedere il costruttore ListViewInsertedEventArgs.

Nell'esempio riportato di seguito viene illustrato come utilizzare l'oggetto ListViewInsertedEventArgs passato al gestore per l'evento ItemInserted.

Nota sulla sicurezza:

In questo esempio è presente una casella di testo che accetta input dell'utente e rappresenta quindi una potenziale minaccia per la sicurezza. Per impostazione predefinita, le pagine Web ASP.NET convalidano l'input dell'utente in modo che non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.

<%@ 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 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;
    }
  }

  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="E-mail" />
              <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>


System.Object
  System.EventArgs
    System.Web.UI.WebControls.ListViewInsertedEventArgs

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5
Mostra: