JQuery.Sortable()関数を使用して、次のような並べ替え可能なアイテムのリストを作成しています。
<script type="text/javascript">
// When the document is ready set up our sortable with it's inherant function(s)
$(document).ready(function() {
$("#goal-list").sortable({
handle: '.handle',
placeholder: 'ui-state-highlight',
update: function() {
var order = $('#goal-list').sortable('serialize');
$("#info").load("/goals/process?" + order);
}
});
});
</script>
返される結果は、アイテムIDのコンマ区切りリストです(つまり、1、2、3、4、5、6など)。
これを関連アイテムテーブルのsortorder列にコミットするための最良の方法を知りたいのですが...各レコードをループして更新することはできますが、データベースへの書き込みが非常に多く、ボトルネックになる可能性があると考えています。特にリストがかなり大きい場合。
LINQ-to-SQLとASP.NETMVCを使用しています