DataList.Items 属性

定义

获取表示控件内单独项的 DataListItem 对象的集合。

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

属性值

一个 DataListItemCollection,它包含表示 DataListItem 控件内单独项的 DataList 对象的集合。

属性

示例

下面的代码示例演示如何使用 Items 集合显示 控件中的 DataList 项。

注意

下面的代码示例使用单文件代码模型,如果直接复制到代码隐藏文件中,可能无法正常工作。 必须将此代码示例复制到扩展名为 .aspx 的空文本文件中。 有关Web Forms代码模型的详细信息,请参阅 ASP.NET Web Forms 页代码模型

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!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" >
   <script language = "C#" runat="server">
 
      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;
 
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
  
         for (int i = 0; i < 10; i++) 
         {
            dr = dt.NewRow();
            dr[0] = "Item " + i.ToString();
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
         if (!IsPostBack) 
         {
            DataList1.DataSource = CreateDataSource();
            DataList1.DataBind();
         }
      }
 
      void Button_Click(Object sender, EventArgs e)
      { 
         if (DataList1.Items.Count > 0)
         {
            Label1.Text = "The Items collection contains: <br />";

            foreach(DataListItem item in DataList1.Items)
            {
        
               Label1.Text += ((DataBoundLiteralControl)item.Controls[0]).Text +
                              "<br />";
            }
         }
      } 
 
   </script>
 
<head runat="server">
    <title>DataList Items Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Items Example</h3>
 
      <asp:DataList id="DataList1" runat="server"
           BorderColor="black"
           CellPadding="3"
           Font-Names="Verdana"
           Font-Size="8pt">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            Items

         </HeaderTemplate>
               
         <ItemTemplate>

            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

         </ItemTemplate>
 
      </asp:DataList>

        <br /><br />

      <asp:Button id="Button1"
           Text="Display Contents of Items Collection"
           OnClick="Button_Click"
           runat="server"/>
 
      <br /><br />

      <asp:Label id="Label1"
           runat="server"/>
 
   </form>
 
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!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" >
   <script language = "VB" runat="server">
    Function CreateDataSource() As ICollection
        Dim dt As New DataTable()
        Dim dr As DataRow
        
        dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
        
        Dim i As Integer
        For i = 0 To 9
            dr = dt.NewRow()
            dr(0) = "Item " & i.ToString()
            dt.Rows.Add(dr)
        Next i
        
        Dim dv As New DataView(dt)
        Return dv
    End Function 'CreateDataSource


    Sub Page_Load(sender As Object, e As EventArgs)
        If Not IsPostBack Then
            DataList1.DataSource = CreateDataSource()
            DataList1.DataBind()
        End If
    End Sub 'Page_Load


    Sub Button_Click(sender As Object, e As EventArgs)
        If DataList1.Items.Count > 0 Then
            Label1.Text = "The Items collection contains: <br />"
            
            Dim item As DataListItem
            For Each item In  DataList1.Items
                
                Label1.Text += CType(item.Controls(0), DataBoundLiteralControl).Text & "<br />"
            Next item
        End If
    End Sub 'Button_Click
   </script>
 
<head runat="server">
    <title>DataList Items Example</title>
</head>
<body>
 
   <form id="form1" runat="server">

      <h3>DataList Items Example</h3>
 
      <asp:DataList id="DataList1" runat="server"
           BorderColor="black"
           CellPadding="3"
           Font-Names="Verdana"
           Font-Size="8pt">

         <HeaderStyle BackColor="#aaaadd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="Gainsboro">
         </AlternatingItemStyle>

         <HeaderTemplate>

            Items

         </HeaderTemplate>
               
         <ItemTemplate>

            <%# DataBinder.Eval(Container.DataItem, "StringValue") %>

         </ItemTemplate>
 
      </asp:DataList>

        <br /><br />

      <asp:Button id="Button1"
           Text="Display Contents of Items Collection"
           OnClick="Button_Click"
           runat="server"/>
 
      <br /><br />

      <asp:Label id="Label1"
           runat="server"/>
 
   </form>
 
</body>
</html>

注解

Items使用 集合以编程方式控制 控件中的DataList项。 集合 Items 不提供任何方法向集合添加或删除项。 但是,可以通过为 事件提供处理程序 ItemCreated 来控制项的内容。

注意

集合中仅包含绑定到数据源的 Items 项。 集合中不包含页眉、页脚和分隔符。

适用于

另请参阅