如何在转发器内创建N(例如3)列div输出?例如,如果我试图在我的转发器中呈现的项目是从1到6的数字,我想看到以下输出:
<div><span>1</span><span>2</span><span>3</span></div>
<div><span>4</span><span>5</span><span>6</span></div>
我认为他与mod运算符(%)有关,但我不确定如何做到这一点。
答案 0 :(得分:1)
class ModContext
{
public ModContext(int first, int second)
{
this.First = first;
this.Second = second;
this.Result = this.First % this.Second;
}
public int First { get; private set; }
public int Second { get; private set; }
public int Result { get; private set; }
}
IList<ModContext> items = new List<ModContext>
{
new ModContext(10, 20),
new ModContext(30, 40)
};
this.repeater.DataSource = items;
this.repeater.DataBind();
ASPX:
<asp:Repeater id="repeater" runat="server">
<HeaderTemplate>
<div>
</HeaderTemplate>
<ItemTemplate>
<span><%# DataBinder.Eval(Container.DataItem, "Result") %></span>
<span><%# DataBinder.Eval(Container.DataItem, "First") %></span>
<span><%# DataBinder.Eval(Container.DataItem, "Second") %></span>
</ItemTemplate>
<FooterTemplate>
</div>
</FooterTemplate>
</asp:Repeater>
答案 1 :(得分:0)
我多年没有使用中继器,所以我在这里走出困境,但我认为这样的事情应该有效:
<ItemTemplate>
<% if(Container.ItemIndex % 3 == 0) {%> <div> <% } %}
<span><%# DataBinder.Eval(Container.DataItem, "Result") %></span>
<% if(Container.ItemIndex % 3 == 2) {%> </div> <% } %}
</ItemTemplate>