protectedvoid ReorderList1_ItemReorder(object sender,AjaxControlToolkit.ReorderListItemReorderEventArgs e) { String queryString ="select * from Menu order by Priority asc"; DataTable dt = GetData(queryString).Tables[0]; DataRowCollection rows = dt.Rows; int oldIndex = e.OldIndex; int newIndex = e.NewIndex; string SortOrderField =this.ReorderList1.SortOrderField; int NewListOrder = (int)rows[newIndex][SortOrderField]; if (oldIndex < newIndex) //item moved down { for (int i = oldIndex +1; i <= newIndex; i++) { rows[i][SortOrderField] = (int)rows[i][SortOrderField] -1; } } else//item moved up { for (int i = oldIndex -1; i >= newIndex; i--) { rows[i][SortOrderField] = (int)rows[i][SortOrderField] +1; } } rows[oldIndex][SortOrderField] = NewListOrder; BatchUpdate(dt,10); BindReorderList(); }