Сохранение Поддающегося сортировке JQuery (новый порядок) к ASP.NET контроллер MVC?

Я реализовал поддающийся сортировке 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. 1 - Автомобиль
  2. 2 - Лодка
  3. 3 - Мотоцикл
  4. 4 - Плоскость

И пользователь перетаскивает и обращается, чтобы быть

  1. 4 - Плоскость
  2. 1 - Автомобиль
  3. 3 - Мотоцикл
  4. 2 - Лодка

Как я могу передать тот новый порядок? Я предполагаю, что идентификатор передает все это, отправляют, удаляют весь список и повторно отправляют этот целый список

если нет лучший путь? Использование в своих интересах Linq (использующий Linq для SQL), где я могу вставить новый порядок на everychange и сделать отправлять изменения?

13
задан T J 1 July 2016 в 07:24
поделиться

1 ответ

Все, что мне нужно было сделать, это заполнить поле id для каждого элемента списка, toArray метод вернул список в порядке после этого

<ul id="sortable">  
    <% foreach (var item in Model.Roles) { %>                  
        <li id="<%=Html.AttributeEncode(item.Name)%>"><%=Html.AttributeEncode(item.Name)%></li>                                                                                    
    <% } %>             
</ul>  
9
ответ дан 2 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: