我有以下ListView,其中我使用JQuery UI可排序函数来对ListView中的项进行排序。问题是我不能在ItemTemplate中的表上放置一个可排序的类,因为它不起作用,如果我在外部div上放置一个class =“sortable”,它可以工作,但它允许我对所有内容进行排序ListView,我只想移动排序表。这是标记
<div> //Works here, but hr's become sortable too.
<asp:ListView ID="lvwDocuments" runat="server">
<LayoutTemplate>
<h3>
Documents</h3>
<asp:PlaceHolder ID="itemPlaceHolder" runat="server">
</asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<table class="sortable"> //Does not work Here
<tr>
<td>
<p class="title">
<a runat="server" href='<%#Eval("url") %>'>
<%#Eval("title") %></a></p>
<br />
<p>
<%#Eval("description") %></p>
</td>
</tr>
</table>
</ItemTemplate>
<ItemSeparatorTemplate>
<hr />
</ItemSeparatorTemplate>
</div>
此外,即使刷新页面后,如何保留排序顺序。
答案 0 :(得分:0)
为了使sortable可以工作,你必须将它应用于父元素(通常是div)。
在可排序的调用中,使用以下属性:
$(".sortable").sortable({ items: "table" });
可以使用HiddenField并将其值分配给:
来保留排序顺序$(".sortable").sortable("toArray");
然后使用此值来排序列表视图。
但这种方法存在问题。 HR不可排序,因此您不能在它们之间放置项目。最好在你的桌子周围潜水,底部有一小时。
<div class="sortable">
<div class="item">
<table> ... </table>
<hr />
</div>
</div>