ListView.InsertItemTemplate Propiedad

Definición

Obtiene o establece el contenido personalizado de un elemento de inserción en el control ListView.

public:
 virtual property System::Web::UI::ITemplate ^ InsertItemTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.ListViewItem), System.ComponentModel.BindingDirection.TwoWay)]
public virtual System.Web.UI.ITemplate InsertItemTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.ListViewItem), System.ComponentModel.BindingDirection.TwoWay)>]
member this.InsertItemTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property InsertItemTemplate As ITemplate

Valor de propiedad

Objeto que contiene el contenido personalizado del elemento de inserción en el ListView control . El valor predeterminado es null, lo que indica que esta propiedad no se estableció.

Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo definir una plantilla personalizada para el elemento de inserción de un ListView control. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para el ItemInserted evento.

Importante

Este ejemplo tiene un cuadro de texto que acepta datos proporcionados por el usuario, lo que puede suponer una amenaza para la seguridad. De forma predeterminada, ASP.NET Web Pages valida que los datos proporcionados por el usuario no incluyen elementos HTML ni de script. Para más información, consulte Información general sobre los ataques mediante scripts.

<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>
<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>

Comentarios

Use la InsertItemTemplate propiedad para definir una interfaz de usuario (UI) personalizada para el elemento de inserción en el ListView control . Esta interfaz de usuario se representa al principio o al final de los elementos mostrados. Especifique dónde se representa la interfaz de usuario mediante la InsertItemPosition propiedad .

Normalmente, InsertItemTemplate la plantilla contiene los controles de entrada para que el usuario escriba los valores de un nuevo registro. También suele contener botones o hipervínculos para insertar el registro y cancelar la operación de inserción.

Para especificar la plantilla personalizada mediante declaración, agregue un InsertItemTemplate elemento dentro del ListView elemento . A continuación, puede agregar el contenido de la plantilla al InsertItemTemplate elemento . Puede asociar un campo a un control de entrada mediante una expresión de enlace bidireccional. Cuando se inserta un registro, el ListView control extrae automáticamente el valor de campo del control de entrada asociado. Para obtener más información, vea Información general sobre expresiones de enlace de datos.

Para crear botones que realicen las operaciones integradas de cancelación e inserción, agregue un control de botón a la plantilla. Establezca su CommandName propiedad en uno de los valores enumerados en la tabla siguiente.

Tipo de botón Valor commandName
Cancelar "Cancelar"
Insertar "Insertar"

Puede controlar la posición del elemento de inserción en el ListView control mediante la InsertItemPosition propiedad .

Se aplica a

Consulte también