Speichern von JQuery Sortable (neue Reihenfolge) auf dem ASP.Net MVC-Controller?

Ich habe JQuery sortierbar implementiert, und es funktioniert gut. Das Problem ist, dass ich die Liste nicht in der neuen Reihenfolge an einen Controller übergeben kann, damit ich sie speichern kann.

<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>  

und mein Controller:

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

List items gibt die entsprechende Anzahl von Elementen zurück - außer, dass jedes Element eine leere Zeichenfolge ist.

Wenn die Originalliste so aussieht

1 - Auto 2 - Boot 3 - Motorrad 4 - Flugzeug

Und der Benutzer zieht und greift nach

4 - Flugzeug 1 - Auto 3 - Motorrad 2 - Boot

Wie kann ich diese neue Bestellung abschicken? Ich nehme an, ich übergebe das Ganze an Submit, lösche die gesamte Liste und sende die gesamte Liste erneut an

Es gibt keinen besseren Weg? Nutzen Sie Linq (mit Linq to SQL), um bei jeder Änderung die neue Bestellung einzufügen und Änderungen zu übermitteln?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage