如何在转发器内创建三列 div?

发布于 2025-01-05 09:39:44 字数 346 浏览 4 评论 0原文

如何在中继器内创建 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 运算符 (%) 有关,但我不确定具体该怎么做。

How can I create an N (e.g. 3) column div output inside a repeater? For example if the items I am trying to render in my repeater are the numbers from 1 to 6 I'd like to see the following output:

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

I think that his has something to do with the mod operator (%), but I'm not sure exactly how to do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岁月蹉跎了容颜 2025-01-12 09:39:44
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>
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>
廻憶裏菂餘溫 2025-01-12 09:39:44

我已经很多年没有使用中继器了,所以我在这里冒险,但我认为这样的东西应该有效:

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

I haven't used repeaters for years, so I am going out on a limb here, but I think something like this should work:

  <ItemTemplate>
  <% if(Container.ItemIndex % 3 == 0) {%> <div> <% } %}
  <span><%# DataBinder.Eval(Container.DataItem, "Result") %></span>
  <% if(Container.ItemIndex % 3 == 2) {%> </div> <% } %}
  </ItemTemplate>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文