将JQuery Sortable(新订单)保存到ASP.Net MVC控制器?

我已经实现了JQuery可排序,它工作正常。 问题是我无法将新订单中的列表传递给控制器​​,因此我可以保存它。

 $(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 }); }); });  

Edit Roles

和我的控制器:

 [HttpPost] public EmptyResult SortedLists(List items) { return new EmptyResult(); } 

列表项目返回时有相应数量的元素 – 除了每个项目都是空字符串。

如果原始列表看起来像这样

  1. 1 – 车
  2. 2 – 船
  3. 3 – 摩托车
  4. 4 – 飞机

并且用户拖拽和度假

  1. 4 – 飞机
  2. 1 – 车
  3. 3 – 摩托车
  4. 2 – 船

我怎样才能通过新订单? 我想id会在提交时传递整个内容,删除整个列表并重新提交整个列表

除非有更好的方法吗? 利用Linq(使用Linq to SQL),我可以在每个交换机上插入新订单并进行提交更改?

我所要做的只是为每个列表项填写id字段, toArray方法在此之后返回列表

 
    <% foreach (var item in Model.Roles) { %>
  • <%=Html.AttributeEncode(item.Name)%>
  • <% } %>

在表格中,您可以创建隐藏的输入,这可以帮助您将值发布到Controller,而不是轻松保存;)

它应该是这样的:

 

希望能帮助到你;)