Я реализовал сортировку JQuery, и он отлично работает. Проблема в том, что я не могу передать список в своем новом порядке контроллеру, поэтому я могу его сохранить.
<script type="text/javascript">
$(document).ready(function() {
$("#sortable").sortable({ axis: "y" });
});
$(function() {
$("#submit-list").button();
$("#submit-list").click(function() {
debugger;
$.ajax({
url: '/Admin/SortedLists/',
data: { items: $("#sortable").sortable('toArray') },
type: 'post',
traditional: true
});
});
});
</script>
<h2>Edit Roles</h2>
<div>
<ul id="sortable">
<% foreach (var item in Model.Roles) { %>
<li>
<%=Html.AttributeEncode(item.Name)%>
</li>
<% } %>
</ul>
<input type="submit" value="Save" id="submit-list"/>
</div>
и мой контроллер:
[HttpPost]
public EmptyResult SortedLists(List<string> items)
{
return new EmptyResult();
}
Элементы списка возвращаются с количеством экземпляров corrent, за исключением каждого элемента - пустые строки.
Если исходный список выглядит следующим образом
- 1 - Автомобиль
- 2 - Лодка
- 3 - Мотоцикл
- 4 - Самолет
И пользователь тащит и прибегает к
- 4 - Самолет
- 1 - Автомобиль
- 3 - Мотоцикл
- 2 - Лодка
Как я могу передать этот новый заказ? Я полагаю, что id передал все это, чтобы отправить, удалить весь список и повторно отправить весь этот список.
разве лучший способ? Воспользовавшись Linq (используя Linq to SQL), где я могу вставить новый порядок на каждый обмен и внести изменения в submit?