【问题标题】:How to force a new line after every row in a repeater [duplicate]如何在中继器中的每一行之后强制换行[重复]
【发布时间】:2012-11-02 16:57:41
【问题描述】:

可能重复:
Bind 5 items in each row of repeater

我正在使用Repeater 控件为我显示某些元素。
这些元素采用表格格式,每个元素都包含在自己的 panel 标记中。

用户可以根据自己的选择从这些元素中添加/删除变量,从而扩展/收缩 div 框。

截至目前,应用程序在一行上显示 3 个 div 框,然后在新行上启动一个新的 div 框。

不幸的是,如果上一行的 div 框展开,它会与下一行的 div 框混淆。

有没有办法在转发器控件中的每一行之后强制<br />


下面的图片将有助于说明我的意思。

【问题讨论】:

  • @Rawling 似乎不起作用 - 我们有一个非常适合我要求的答案 - 无需关闭它。

标签: c# asp.net repeater


【解决方案1】:

这不是服务器端问题。

你应该使用 CSS

首先,创建<div runat="server">,并在每3或4个项目之后分配一个CSS类line-break。这可以使用Repeater 的ItemDataBound 事件来实现。

稍后,在您的 CSS 样式表中,对 .line-break CSS 类使用 clear: both 规则。

最后,当某些div 的高度高于其他时,这应该避免不良影响。

更新

我猜你正在将float: left 应用于你的<div /> 元素。

【讨论】:

  • 我怎么知道第三个(现在的面板)何时显示?
  • @NewAmbition 使用int 类型的属性作为代码隐藏或其他内容中的计数器。数到 3。如果是 3,则添加此类。然后回到 0 重新开始数到 3,以此类推。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 2011-05-11
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
  • 1970-01-01
相关资源
最近更新 更多