Aracılığıyla paylaş


ListView.InsertItem Özellik

Tanım

Denetimin ListView ekleme öğesini alır.

public:
 virtual property System::Web::UI::WebControls::ListViewItem ^ InsertItem { System::Web::UI::WebControls::ListViewItem ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.ListViewItem InsertItem { get; }
[<System.ComponentModel.Browsable(false)>]
member this.InsertItem : System.Web.UI.WebControls.ListViewItem
Public Overridable ReadOnly Property InsertItem As ListViewItem

Özellik Değeri

Denetimin ekleme öğesini temsil eden nesne ListView .

Öznitelikler

Örnekler

Aşağıdaki örnek, şablonun içerdiği InsertItemTemplate denetimlere erişmek için özelliğini kullanarak InsertItem ekleme öğesinin nasıl alındığını gösterir.

Önemli

Bu örnek, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden metin kutuları içerir. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz . Betik Açıklarına Genel Bakış.

<%@ 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">
  
  protected void CountriesListView_ItemInserting(object sender, ListViewInsertEventArgs e)
  {
    // Get the controls that are contained in the insert item.
    TextBox countryCodeTextBox = 
      (TextBox)CountriesListView.InsertItem.FindControl("CountryCodeTextBox");
    TextBox nameTextBox = 
      (TextBox)CountriesListView.InsertItem.FindControl("NameTextBox");

    //Check if the controls are empty.
    if ((countryCodeTextBox.Text.Trim().Length == 0) ||
      (nameTextBox.Text.Trim().Length == 0))
    {
      MessageLabel.Text = 
        "The system could not insert the item. All fields are required.";
      e.Cancel = true;
      return;
    }
    
  }

  protected void Page_Load(object sender, EventArgs e)
  {
    //Clear the message label.
    MessageLabel.Text = "";
  }  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView InsertItem Example</title>
    <style type="text/css">
      body  { font: 10pt Trebuchet MS, Arial, Tahoma; }
      th { background: #8FBC8F; }
      .item td { border: 1px solid #8FBC8F; }
      .insertItem td  { background: #D3D3D3; }
    </style>
  </head>
  <body>
    <form id="form1" runat="server">
       
      <h3>ListView InsertItem Example</h3>
      
      <asp:ListView ID="CountriesListView" 
        DataSourceID="CountryDataSource"
        DataKeyNames="CountryRegionCode"
        InsertItemPosition="LastItem"
        runat="server" 
        oniteminserting="CountriesListView_ItemInserting">
        <LayoutTemplate>
          <table cellpadding="4" width="500" runat="server" id="tblCountries">
            <tr runat="server">
              <th runat="server">Code</th>
              <th runat="server">Name</th>
            </tr>
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager ID="CountriesPager" runat="server" PageSize="20">
            <Fields>
              <asp:NumericPagerField ButtonCount="10" />
            </Fields>
          </asp:DataPager>          
        </LayoutTemplate>
        <ItemTemplate>
          <tr class="item" runat="server">
            <td>
              <asp:Label ID="CountryCodeLabel" runat="server" 
                Text='<%# Eval("CountryRegionCode")%>' />
            </td>          
            <td>
              <asp:Label ID="NameLabel" runat="server" 
                Text='<%# Eval("Name")%>' />
            </td>
          </tr>
        </ItemTemplate>
        <InsertItemTemplate>
          <tr class="insertItem">
            <td align="right">Code:</td>
            <td align="left">
              <asp:TextBox ID="CountryCodeTextBox" runat="server" 
                Text='<%# Bind("CountryRegionCode")%>' 
                MaxLength="3" />
            </td>
          </tr>
          <tr class="insertItem">
            <td align="right">Name:</td>
            <td align="left">
              <asp:TextBox ID="NameTextBox" runat="server" 
                Text='<%# Bind("Name")%>' 
                MaxLength="50" />
            </td>
          </tr>
          <tr class="insertItem" runat="server">
            <td colspan="2" align="center">
              <asp:Button ID="InsertButton" runat="server" 
                CommandName="Insert" Text="Insert" />
              <asp:Button ID="CancelButton" runat="server" 
                CommandName="Cancel" Text="Clear" />
            </td>
          </tr>
        </InsertItemTemplate>
      </asp:ListView>
      <br /><br />
                
      <asp:Label ID="MessageLabel"
        ForeColor="Red"
        runat="server" />

      <!-- 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="CountryDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [CountryRegionCode], [Name]
          FROM [Person].[CountryRegion]"
        InsertCommand="INSERT INTO Person.CountryRegion(CountryRegionCode, Name) 
          VALUES (@CountryRegionCode, @Name)">
      </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">

  Protected Sub CountriesListView_ItemInserting(ByVal sender As Object, _
                                                ByVal e As ListViewInsertEventArgs)
    
    ' Get the controls that are contained in the insert item.
    Dim countryCodeTextBox As TextBox = _
      CType(CountriesListView.InsertItem.FindControl("CountryCodeTextBox"), TextBox)
    Dim nameTextBox As TextBox = _
      CType(CountriesListView.InsertItem.FindControl("NameTextBox"), TextBox)
    
    'Check if the controls are empty.
    If countryCodeTextBox.Text.Trim().Length = 0 _
    OrElse nameTextBox.Text.Trim().Length = 0 Then
      MessageLabel.Text = "The system could not insert the item. All fields are required."
      e.Cancel = True
      Return
    End If

  End Sub
 
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    'Clear the message label.
    MessageLabel.Text = ""
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>ListView InsertItem Example</title>
    <style type="text/css">
      body  { font: 10pt Trebuchet MS, Arial, Tahoma; }
      th { background: #8FBC8F; }
      .item td { border: 1px solid #8FBC8F; }
      .insertItem td  { background: #D3D3D3; }
    </style>
  </head>
  <body>
    <form id="form1" runat="server">
       
      <h3>ListView InsertItem Example</h3>
      
      <asp:ListView ID="CountriesListView" 
        DataSourceID="CountryDataSource"
        DataKeyNames="CountryRegionCode"
        InsertItemPosition="LastItem"
        runat="server" 
        oniteminserting="CountriesListView_ItemInserting">
        <LayoutTemplate>
          <table cellpadding="4" width="500" runat="server" id="tblCountries">
            <tr runat="server">
              <th runat="server">Code</th>
              <th runat="server">Name</th>
            </tr>
            <tr runat="server" id="itemPlaceholder" />
          </table>
          <asp:DataPager ID="CountriesPager" runat="server" PageSize="20">
            <Fields>
              <asp:NumericPagerField ButtonCount="10" />
            </Fields>
          </asp:DataPager>          
        </LayoutTemplate>
        <ItemTemplate>
          <tr class="item" runat="server">
            <td>
              <asp:Label ID="CountryCodeLabel" runat="server" 
                Text='<%# Eval("CountryRegionCode")%>' />
            </td>          
            <td>
              <asp:Label ID="NameLabel" runat="server" 
                Text='<%# Eval("Name")%>' />
            </td>
          </tr>
        </ItemTemplate>
        <InsertItemTemplate>
          <tr class="insertItem">
            <td align="right">Code:</td>
            <td align="left">
              <asp:TextBox ID="CountryCodeTextBox" runat="server" 
                Text='<%# Bind("CountryRegionCode")%>' 
                MaxLength="3" />
            </td>
          </tr>
          <tr class="insertItem">
            <td align="right">Name:</td>
            <td align="left">
              <asp:TextBox ID="NameTextBox" runat="server" 
                Text='<%# Bind("Name")%>' 
                MaxLength="50" />
            </td>
          </tr>
          <tr class="insertItem" runat="server">
            <td colspan="2" align="center">
              <asp:Button ID="InsertButton" runat="server" 
                CommandName="Insert" Text="Insert" />
              <asp:Button ID="CancelButton" runat="server" 
                CommandName="Cancel" Text="Clear" />
            </td>
          </tr>
        </InsertItemTemplate>
      </asp:ListView>
      <br /><br />
                
      <asp:Label ID="MessageLabel"
        ForeColor="Red"
        runat="server" />

      <!-- 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="CountryDataSource" runat="server" 
        ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
        SelectCommand="SELECT [CountryRegionCode], [Name]
          FROM [Person].[CountryRegion]"
        InsertCommand="INSERT INTO Person.CountryRegion(CountryRegionCode, Name) 
          VALUES (@CountryRegionCode, @Name)">
      </asp:SqlDataSource>
      
    </form>
  </body>
</html>

Açıklamalar

Denetimin InsertItem ekleme öğesine ListView erişmek için özelliğini kullanın. Ekleme öğesi, öğesine eşit ListViewItemType.InsertItemolan ItemType bir ListViewItem nesnedir. Ekleme öğesinin içeriği özelliği tarafından InsertItemTemplate tanımlanır.

Şunlara uygulanır

Ayrıca bkz.