我已经实现了
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(); }
列表项目带有大量元素,除了每个项目都是空字符串.
如果原来的列表看起来像这样
> 1 – 汽车
> 2 – 船
> 3 – 摩托车
> 4 – 平面
而用户拖拉和度假
> 4 – 平面
> 1 – 汽车
> 3 – 摩托车
> 2 – 船