<asp:DataList ID="DataList1" runat="server">
    <HeaderTemplate>
    <tr bgcolor="#BB69D1">
<td width="86"><span class="toupiao_title">照片</span></td>
<td width="204"><span class="toupiao_title">企业名称</span></td>
<td width="145"><span class="toupiao_title">详细信息</span></td>
<td width="71"><span class="toupiao_title">已得票数</span></td>
<td width="100"><span class="toupiao_title">我要投票</span></td>
  </tr>
    </HeaderTemplate>
    <ItemTemplate>
    <tr> <td><asp:Image ID="Image1" runat="server" class="tdleft" 
                                    ImageUrl='<%# DataBinder.Eval(Container.DataItem,"Logo") %>'/></td>
<td><asp:Label ID="labName" runat="server" 
                                    Text='<%# DataBinder.Eval(Container.DataItem,"Name") %>'></asp:Label></td>
<td><a href="#"class="y_show" title='<%# DataBinder.Eval(Container.DataItem,"Name") %>'>详细信息</a></td>
<td>
                                <asp:Label ID="Label2" runat="server" 
                                    Text='<%# DataBinder.Eval(Container.DataItem,"Count") %>'></asp:Label></td>
<td><asp:CheckBox ID="cbBallot" runat="server" class="y_Check" /></td>
  </tr>
    </ItemTemplate>
                            </asp:DataList>
 DataListItemCollection items = this.DataList1.Items;
            List<string> names = new List<string>();
            foreach (DataListItem item in items)
            {
                if (item.ItemType == ListItemType.Item)
                {
                    CheckBox cb = item.FindControl("cbBallot") as CheckBox;
                    if (cb.Checked)
                    {
                        names.Add((item.FindControl("labName") as Label).Text);
                    }
                }
            }
为什么在遍历过程中,它会判断第一个是ListItemType.Item,第二个就不是,然后第3个是,第4个不是,总是跳过一个?
想了半天也没想通其中的道理。

解决方案 »

  1.   

    ListItemType.Item 列表控件中的项。它是数据绑定的 
    AlternatingItem 交替(从零开始的偶数索引)单元格中的项。它是数据绑定的
    if (item.ItemType == ListItemType.Item||item.ItemType == ListItemType.AlternatingItem )
    {}
      

  2.   

    if (item.ItemType == ListItemType.Item || item.ItemType==ListItemType.AlternatingItem)
      

  3.   

    在加个
    item.ItemType == ListItemType.AlternatingItem 
    一个叫item,一个是交替的item,这两个都是item