<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个不是,总是跳过一个?
想了半天也没想通其中的道理。
<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个不是,总是跳过一个?
想了半天也没想通其中的道理。
AlternatingItem 交替(从零开始的偶数索引)单元格中的项。它是数据绑定的
if (item.ItemType == ListItemType.Item||item.ItemType == ListItemType.AlternatingItem )
{}
item.ItemType == ListItemType.AlternatingItem
一个叫item,一个是交替的item,这两个都是item