Недавно мы решили аналогичную проблему (хотя и в проекте, отличном от MVC), просто добавив атрибут данных HTML5 с идентификатором виджета, просматривая все лики, извлекая их идентификатор и передавая их в массив.Например:
Структура HTML:
<ul>
<li data-id="1"></li>
<li data-id="2"></li>
<li data-id="3"></li>
<li data-id="4"></li>
<li data-id="5"></li>
<li data-id="6"></li>
</ul>
jQuery (внутри обратного вызова stop):
var widgets = [];
$('li').each(function() {
widgets.push( this.getAttribute("data-id") );
});
WebService.UpdatePositions(widgets);
Мы сделали это при обратном вызове stop
на sortable
, но также должно быть применимо и здесь.
Затем WebService получает int[]
, который, как вы знаете, будет содержать идентификаторы в их новых позициях, используя индекс int[]
, в котором они находятся.