我有一组具有如下结构的嵌套转发器:
Repeater A
Repeater A-1
Repeater A-2
Repeater A-3
Repeater B
Repeater B-1
Repeater B-2
Repeater B-3
我想在运行时动态重新排列父转发器中的子转发器。例如,根据用户配置,我可能希望将Repeater A的子节点的顺序更改为2,3,1。我对服务器或客户端解决方案持开放态度。
答案 0 :(得分: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:
为了避免重新发明轮子,请看一下这些例子,这里有几个工作示例。选择最适合您和项目的内容。