我的转发器设置工作正常,但我需要对每个第三项进行一些调整。我的代码在下面
<asp:Repeater ID="rptItems" runat="server" onitemdatabound="rptItems_ItemDataBound">
<ItemTemplate>
content / html / eval
</ItemTemplate>
<AlternatingItemTemplate>
content / html / eval
</AlternatingItemTemplate>
</asp:Repeater>
然后在我的onitemdatabound设置
protected void rptItems_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
// check to see if this is the page to show the form on
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Visible = ((e.Item.Parent as Repeater).Items.Count % 3 == 0);
}
}
}
但这似乎不起作用,只是隐藏其中一项,任何帮助都会很棒。
答案 0 :(得分:0)
您需要使用项目索引而不是计数。 Count是静态值。
可能是这样的:
e.Item.Visible = (e.Item.Index % 3 == 0);
答案 1 :(得分:0)
使用RepeaterItem.ItemIndex
代替Items.Count
e.Item.ItemIndex % 3 == 0
这样:
e.Item.Visible = e.Item.ItemType == ListItemType.AlternatingItem &&
e.Item.ItemIndex % 3 == 0
删除备用项目以对每个第3项进行修改。
<asp:Repeater ID="rptItems" runat="server" onitemdatabound="rptItems_ItemDataBound">
<ItemTemplate>
content / html / eval
</ItemTemplate>
</asp:Repeater>
你背后的代码是:
e.Item.Visible = e.Item.ItemIndex % 3 == 0