1

我现在正在使用Repeater 控件在多个不同站点上显示来自SQL 服务器的数据。我想知道是否有任何方法可以使中继器仅“重复”或最多运行其周期 N 次。

我将一个 Div 元素分成 4 个相等的部分,这些部分正好有足够的空间容纳这个中继器的 4 个周期。如果它运行超过 4 次,它会将 div 中的所有内容向下推,并开始我希望避免的新的图像/文本行。它使网页看起来更丑陋,并没有真正为客户完成太多。

还有什么方法可以随机选择通过中继器显示哪些迭代?例如,页面加载一次,转发器拉取迭代 2-5,然后刷新页面,转发器拉取迭代 1-4。如果我可以使显示的图像/文本是随机的,那将是非常酷的。

对于那些好奇的人,转发器是一个 ASP.net 对象,它基本上迭代地显示或以其他方式处理来自表、SQL 数据库等的数据。它只是逐行遍历任何数据。

4

1 回答 1

7

您可以在将数据源绑定到转发器之前对数据源本身执行此操作,而不是尝试对转发器做任何时髦的事情。

例如:

var rand = new Random();
var myCollection = GetSomethingFromSomewhere();
myRepeater.DataSource = myCollection
    .OrderBy(x => rand.Next())
    .Take(4);
myRepeater.DataBind();
于 2013-07-30T19:34:03.600 回答