ListView.EditItemTemplate Właściwość

Definicja

Pobiera lub ustawia zawartość niestandardową dla elementu w trybie edycji.Gets or sets the custom content for the item in edit mode.

public:
 virtual property System::Web::UI::ITemplate ^ EditItemTemplate { 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.ListViewDataItem), System.ComponentModel.BindingDirection.TwoWay)]
public virtual System.Web.UI.ITemplate EditItemTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.ListViewDataItem), System.ComponentModel.BindingDirection.TwoWay)>]
member this.EditItemTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property EditItemTemplate As ITemplate

Wartość właściwości

ITemplate

Obiekt, który zawiera niestandardową zawartość dla elementu w trybie edycji.An object that contains the custom content for the item in edit mode. Wartość domyślna to null , co oznacza, że ta właściwość nie jest ustawiona.The default is null, which indicates that this property is not set.

Atrybuty

Przykłady

Poniższy przykład pokazuje, jak zdefiniować szablon niestandardowy dla elementu w trybie edycji.The following example shows how to define a custom template for the item in edit mode.

Ważne

Ten przykład zawiera pole tekstowe akceptujące dane wejściowe użytkownika, które jest potencjalnym zagrożeniem bezpieczeństwa.This example has a text box that accepts user input, which is a potential security threat. Domyślnie strony sieci Web ASP.NET sprawdzają, czy dane wejściowe użytkownika nie obejmują elementów skryptu ani HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach.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">
    
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView Templates Example</title>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>ListView Templates Example</h3>
                 
      <asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        DataKeyNames="ContactID"
        runat="server">
        <LayoutTemplate>
          <table cellpadding="2" width="640px" border="1" runat="server" id="tblProducts">
            <tr runat="server">
              <th runat="server">Action</th>
              <th runat="server">First Name</th>
              <th runat="server">Last Name</th>
            </tr>
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="ContactsDataPager" 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>
              <asp:LinkButton ID="EditButton" runat="Server" Text="Edit" CommandName="Edit" />
            </td>
            <td>
              <asp:Label ID="FirstNameLabel" runat="Server" Text='<%#Eval("FirstName") %>' />
            </td>
            <td valign="top">
              <asp:Label ID="LastNameLabel" runat="Server" Text='<%#Eval("LastName") %>' />
            </td>
          </tr>
        </ItemTemplate>
        <EditItemTemplate>
          <tr style="background-color: #ADD8E6">
            <td>
              <asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />&nbsp;
              <asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
            </td>
            <td>
              <asp:TextBox ID="FirstNameTextBox" runat="server" Text='<%#Bind("FirstName") %>' 
                MaxLength="50" /><br />
            </td>
            <td>
              <asp:TextBox ID="LastNameTextBox" runat="server" Text='<%#Bind("LastName") %>' 
                MaxLength="50" /><br />
            </td>
          </tr>
        </EditItemTemplate>
      </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] FROM Person.Contact"
        UpdateCommand="UPDATE Person.Contact
                       SET FirstName = @FirstName, LastName = @LastName
                       WHERE ContactID = @ContactID">
      </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">
    
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView Templates Example</title>
  </head>
  <body>
    <form id="form1" runat="server">
        
      <h3>ListView Templates Example</h3>
                 
      <asp:ListView ID="ContactsListView" 
        DataSourceID="ContactsDataSource" 
        DataKeyNames="ContactID"
        runat="server">
        <LayoutTemplate>
          <table cellpadding="2" width="640px" border="1" runat="server" id="tblProducts">
            <tr runat="server">
              <th runat="server">Action</th>
              <th runat="server">First Name</th>
              <th runat="server">Last Name</th>
            </tr>
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager runat="server" ID="ContactsDataPager" 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>
              <asp:LinkButton ID="EditButton" runat="Server" Text="Edit" CommandName="Edit" />
            </td>
            <td>
              <asp:Label ID="FirstNameLabel" runat="Server" Text='<%#Eval("FirstName") %>' />
            </td>
            <td valign="top">
              <asp:Label ID="LastNameLabel" runat="Server" Text='<%#Eval("LastName") %>' />
            </td>
          </tr>
        </ItemTemplate>
        <EditItemTemplate>
          <tr style="background-color: #ADD8E6">
            <td>
              <asp:LinkButton ID="UpdateButton" runat="server" CommandName="Update" Text="Update" />&nbsp;
              <asp:LinkButton ID="CancelButton" runat="server" CommandName="Cancel" Text="Cancel" />
            </td>
            <td>
              <asp:TextBox ID="FirstNameTextBox" runat="server" Text='<%# Bind("FirstName") %>' 
                MaxLength="50" /><br />
            </td>
            <td>
              <asp:TextBox ID="LastNameTextBox" runat="server" Text='<%# Bind("LastName") %>' 
                MaxLength="50" /><br />
            </td>
          </tr>
        </EditItemTemplate>
      </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] FROM Person.Contact"
        UpdateCommand="UPDATE Person.Contact
                       SET FirstName = @FirstName, LastName = @LastName
                       WHERE ContactID = @ContactID">
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>

Uwagi

Użyj EditItemTemplate właściwości, aby zdefiniować niestandardowy interfejs użytkownika dla elementu w trybie edycji.Use the EditItemTemplate property to define a custom user interface (UI) for the item in edit mode. EditItemTemplateSzablon zawiera zwykle kontrolki wprowadzania dla użytkownika w celu zaktualizowania wartości istniejącego rekordu.The EditItemTemplate template usually contains the input controls for the user to update the values of an existing record. Zwykle zawiera również przyciski do aktualizowania rekordu oraz anulowania operacji aktualizacji.It also usually contains buttons to update the record and to cancel the update operation.

Aby określić szablon niestandardowy w sposób deklaratywny, Dodaj EditItemTemplate element wewnątrz ListView kontrolki.To specify the custom template declaratively, add an EditItemTemplate element inside the ListView control. Następnie Dodaj zawartość i kontrolki dla szablonu do EditItemTemplate elementu.Then add the contents and controls for template to the EditItemTemplate element. Można skojarzyć pole z kontrolką wejściową przy użyciu dwukierunkowego wyrażenia powiązania.You can associate a field with an input control by using a two-way binding expression. Dzięki temu ListView formant może automatycznie wyświetlać oryginalną wartość pola w skojarzonej kontrolce wprowadzania dla elementu w trybie edycji.This enables the ListView control to automatically display the original field value in the associated input control for the item in edit mode. Gdy rekord zostanie zaktualizowany, ListView formant może automatycznie wyodrębnić zaktualizowaną wartość pola ze skojarzonej kontrolki wejściowej.When a record is updated, the ListView control can automatically extract the updated field value from the associated input control. Aby uzyskać więcej informacji, zobacz wyrażenia powiązań danych — omówienie.For more information, see Data-Binding Expressions Overview.

Aby utworzyć przyciski, które wykonują wbudowane operacje anulowania i aktualizacji, Dodaj kontrolkę przycisk do szablonu.To create buttons that perform the built-in cancel and update operations, add a button control to the template. Ustaw jej CommandName Właściwość na jedną z wartości wymienionych w poniższej tabeli.Set its CommandName property to one of the values listed in the following table.

Typ przyciskuButton type Wartość poleceniaCommandName value
AnulujCancel Anulowania"Cancel"
AktualizacjaUpdate Aktualizacji"Update"

Dotyczy

Zobacz też