2012-02-15 66 views
-1

如何在中繼器內創建N個(例如3個)列div輸出?例如,如果我想在我的中繼器呈現的項目是從1到6的數字,我想看到下面的輸出:如何在中繼器內創建三列div?

<div><span>1</span><span>2</span><span>3</span></div> 
<div><span>4</span><span>5</span><span>6</span></div> 

我認爲他有事情做與Mod運算符( %),但我不確定如何做到這一點。

+0

什麼是Mod操作,顯示C#代碼 – sll 2012-02-15 15:40:49

+0

你嘗試過什麼嗎? – 2012-02-15 15:41:19

+0

Mod operator =% – 2012-02-15 15:41:59

回答

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> 
0

我沒有使用中繼器多年,所以我的肢體會在這裏,但我覺得這樣的事情應該工作:

<ItemTemplate> 
    <% if(Container.ItemIndex % 3 == 0) {%> <div> <% } %} 
    <span><%# DataBinder.Eval(Container.DataItem, "Result") %></span> 
    <% if(Container.ItemIndex % 3 == 2) {%> </div> <% } %} 
    </ItemTemplate>