0

我有一组嵌套中继器,其结构如下:

Repeater A
     Repeater A-1
     Repeater A-2
     Repeater A-3
Repeater B
     Repeater B-1
     Repeater B-2
     Repeater B-3

我想在运行时动态地重新排列父中继器中的子中继器。例如,根据用户配置,我可能想将中继器 A 的子级的顺序更改为 2、3、1。我对服务器或客户端解决方案持开放态度。

4

1 回答 1

1

我会主张客户端的 jquery 方法。这将避免任何回发,这些都是 1990 年代的事。如果您能够将转发器内容包装到某种容器元素中并为它们提供 Id 属性,您可以编写一个非常可重用的 JQ 函数来为您重新排列。

Asp.net 代码:(你已经有类似的东西了)

<asp:Repeater DataSource="<%#source%>" runat="server">
  <ItemTemplate>
    <div id="containerA">
      <asp:Repeater DataSource="<%#Container.DataItem%>" runat="server">
        <ItemTemplate>
          <div id="A-<%# Bind("Count") %>"><%#SomeEvaluatedMethod()%></td>
        </ItemTemplate>
      </asp:Repeater>
    </div>
  </ItemTemplate>
</asp:Repeater>

生成的 HTML:

<div id="containerA">
   <div id="A1">some text</div>
   <div id="A2">some text</div>
   <div id="A3">some text</div>
</div>

通过 Jquery 排列 div:

为避免重新发明轮子,请查看这些示例,这里有几个工作示例。选择对您和您的项目最有意义的方法。

使用 jQuery 动态排列 div

于 2013-05-21T05:52:11.103 回答