Вы должны использовать Repeater
для вывода содержимого. Это имеет возможность изменять строки на основе AlternatingItemTemplate
и ItemTemplate
.
<asp:Repeater ID="repeater" runat="server"
onitemdatabound="repeater_ItemDataBound">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr runat="server" id="row" class="odd">
<td><%# Container.DataItem %></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr runat="server" id="row" class="even">
<td><%# Container.DataItem%></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Вы также можете перехватить события ItemDataBound и настроить внешний вид при записи данных.
protected void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
var data = e.Item.DataItem;
var index = e.Item.ItemIndex;
var row = e.Item.FindControl("row");
// do something with row control
}
}