我已經實現了JQuery可排序,並且工作正常。問題是我無法將其新順序的列表傳遞給控制器,因此我可以保存它。將JQuery Sortable(新訂單)保存到ASP.Net MVC控制器?
<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),我可以在每個變化上插入新訂單並進行提交更改?
我想過的一件事,雖然不知道它是否有效,但如果你的ID與頁面上的其他內容發生衝突,該怎麼辦?例如,我使用多個列表,其中列表的每個父級都有一個數字ID,每個項目都有一個數字ID,並且父級和子級ID的範圍重疊。所以這樣做可以打破每個具有唯一ID的元素的規則。因此,我會在內容前添加一些內容,例如「parent」+ id和「child」+ id – jamiebarrow 2010-08-05 13:41:40