获取JQuery UI可排序以在asp.net ListView项目上工作?
问题描述:
我有以下ListView中我使用JQuery UI排序函数能够排序ListView中的项目。问题是我无法在ItemTemplate的表中放置可排序的类,因为它不起作用,如果我在外部div上放置class =“sortable”,它可以工作,但它允许我排序ListView,我只是想能够移动排序表。这里是标记获取JQuery UI可排序以在asp.net 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>
另外,即使在刷新页面后,如何保留排序顺序。
答
为了可排序工作,您必须将其应用于父元素(通常为div)。
在排序通话使用以下属性:
$(".sortable").sortable("toArray");
然后使用这个值来订购您的列表视图:
$(".sortable").sortable({ items: "table" });
排序顺序可以通过使用HiddenField并赋予其价值被保留。
虽然这种方法存在问题。 HR不可排序,因此您不能将物品放置在它们之间。最好在桌子底部使用一次潜水。
<div class="sortable">
<div class="item">
<table> ... </table>
<hr />
</div>
</div>
嗨,我试图实现类似的东西。您是否解决了保存排序顺序的问题,如果可以,请将其添加到答案中。 – jamiebarrow 2010-08-03 09:03:39